From 453a90f5421fea24243c50ef582905fe9a9fa8ec Mon Sep 17 00:00:00 2001 From: timlinux Date: Sat, 7 Nov 2009 16:59:29 +0000 Subject: [PATCH] User interface audit updates round #1 git-svn-id: http://svn.osgeo.org/qgis/trunk@11962 c8812cc2-4d05-0410-92ff-de0c093fc19c --- .../plugins/mapserver_export/CMakeLists.txt | 10 +- .../mapserver_export/mapserverexport.py | 56 +- .../mapserver_export/mapserverexportdialog.py | 21 +- python/plugins/mapserver_export/ms_export.py | 507 +++++++-- .../qgsmapserverexportbase.ui | 590 +++++++---- src/app/composer/qgscomposermapwidget.cpp | 26 +- src/app/composer/qgscomposermapwidget.h | 3 +- src/gui/qgsdetaileditemdelegate.cpp | 2 +- src/plugins/copyright_label/pluginguibase.ui | 305 +++--- .../qgsdelimitedtextplugingui.cpp | 13 - .../qgsdelimitedtextpluginguibase.ui | 525 +++++----- src/plugins/georeferencer/mapcoordsdialog.cpp | 10 +- src/plugins/georeferencer/mapcoordsdialog.h | 3 +- .../georeferencer/mapcoordsdialogbase.ui | 207 +--- .../qgsgeorefwarpoptionsdialogbase.ui | 84 +- .../georeferencer/qgspointdialogbase.ui | 323 +++--- .../gps_importer/qgsgpsdevicedialog.cpp | 4 - .../gps_importer/qgsgpsdevicedialogbase.ui | 542 +++++----- src/plugins/gps_importer/qgsgpsplugingui.cpp | 89 -- .../gps_importer/qgsgpspluginguibase.ui | 973 ++++++++---------- .../qgsidwinterpolatordialogbase.ui | 186 ++-- .../qgsinterpolationdialogbase.ui | 808 +++++++-------- .../qgstininterpolatordialogbase.ui | 241 +++-- src/plugins/north_arrow/pluginguibase.ui | 326 +++--- .../ogr_converter/ogrconverterguibase.ui | 660 ++++++------ .../oracle_raster/qgsoracleconnectbase.ui | 357 ++----- .../oracle_raster/qgsselectgeoraster_ui.cpp | 4 +- .../oracle_raster/qgsselectgeorasterbase.ui | 523 +++++----- src/plugins/quick_print/quickprintguibase.ui | 331 +++--- .../qgsrasterterrainanalysisdialogbase.ui | 302 +++--- src/plugins/scale_bar/pluginguibase.ui | 337 +++--- src/plugins/spit/qgsspitbase.ui | 426 ++++---- src/plugins/wfs/qgswfssourceselectbase.ui | 365 +++---- src/ui/qgsaddattrdialogbase.ui | 22 +- src/ui/qgscomposerbase.ui | 2 +- src/ui/qgscomposeritemwidgetbase.ui | 29 +- src/ui/qgscomposermapwidgetbase.ui | 946 +++++++++-------- src/ui/qgscompositionwidgetbase.ui | 603 +++++------ src/ui/qgscontinuouscolordialogbase.ui | 199 ++-- src/ui/qgscustomprojectiondialogbase.ui | 236 +++-- src/ui/qgsfieldcalculatorbase.ui | 4 +- src/ui/qgsitempositiondialogbase.ui | 123 +-- src/ui/qgsmeasurebase.ui | 106 +- src/ui/qgsvectorlayerpropertiesbase.ui | 462 ++++----- 44 files changed, 6084 insertions(+), 5807 deletions(-) diff --git a/python/plugins/mapserver_export/CMakeLists.txt b/python/plugins/mapserver_export/CMakeLists.txt index c3ff31a0fb25..fbbe9d464645 100644 --- a/python/plugins/mapserver_export/CMakeLists.txt +++ b/python/plugins/mapserver_export/CMakeLists.txt @@ -1,15 +1,13 @@ +#TODO: Need to configure cmake to run pyrcc4 and pyuic4 as required when the resource +# file or the ui change SET(INSTALLER_FILES mapserver_export.png __init__.py mapserverexportdialog.py mapserverexport.py ms_export.py +resources.py +ui_mapserverexport.py ) -PYQT4_WRAP_UI(PYUI_FILES qgsmapserverexportbase.ui) -PYQT4_ADD_RESOURCES(PYRC_FILES resources.qrc) -ADD_CUSTOM_TARGET(mapserverexport ALL DEPENDS ${PYUI_FILES} ${PYRC_FILES}) - -SET(INSTALLER_FILES ${INSTALLER_FILES} ${PYUI_FILES} ${PYRC_FILES}) - INSTALL(FILES ${INSTALLER_FILES} DESTINATION ${QGIS_DATA_DIR}/python/plugins/mapserver_export) diff --git a/python/plugins/mapserver_export/mapserverexport.py b/python/plugins/mapserver_export/mapserverexport.py index e3ecd09c9f20..746d96a420fd 100644 --- a/python/plugins/mapserver_export/mapserverexport.py +++ b/python/plugins/mapserver_export/mapserverexport.py @@ -16,13 +16,15 @@ * (at your option) any later version. * * * ***************************************************************************/ +/* Adapted by Erik van de Pol, B3Partners BV. */ """ # Import the PyQt and QGIS libraries from PyQt4.QtCore import * from PyQt4.QtGui import * +from xml.dom import minidom from qgis.core import * # Initialize Qt resources from file resources.py -import resources_rc +import resources # Import the code for the dialog from mapserverexportdialog import MapServerExportDialog # Import the ms_export script that does the real work @@ -59,7 +61,7 @@ def initGui(self): "MapServer Export", self.iface.mainWindow()) #self.action.setWhatsThis("Configuration for Zoom To Point plugin") # connect the action to the run method - QObject.connect(self.action, SIGNAL("triggered()"), self.run) + QObject.connect(self.action, SIGNAL("activated()"), self.run) QObject.connect(self.iface, SIGNAL("currentThemeChanged ( QString )"), self.setCurrentTheme) # Add toolbar button and menu item @@ -74,17 +76,48 @@ def unload(self): # run method that performs all the real work def run(self): # create and show the MapServerExport dialog - self.dlg = MapServerExportDialog() + self.dlg = MapServerExportDialog() #dlg.setupUi(self) + + project = QgsProject.instance() + # question: save project on loading export dialog? + if project.isDirty(): + shouldSave = QMessageBox.question(None, + "Save?", + "Save project to \"" + project.fileName() + "\" before exporting? Only the last saved version of your project will be exported.", + QMessageBox.Yes, + QMessageBox.No, + QMessageBox.Cancel + ) + if shouldSave == QMessageBox.Yes: + if project.fileName().size() == 0: + # project has not yet been saved: + saveAsFileName = QFileDialog.getSaveFileName(self.dlg, + "Save QGIS Project file as...", + ".", + "QGIS Project Files (*.qgs)", + "Filter list for selecting files from a dialog box") + project.setFileName(saveAsFileName) + project.write() + elif shouldSave == QMessageBox.Cancel: + return # do not show the export dialog + + self.dlg.ui.txtQgisFilePath.setText(project.fileName()) + self.dlg.ui.txtMapName.setText(project.title()) + + # TODO: fetch unit used from QSettings + + # TODO: fetch width/height guess from QSettings: # fetch the last used values from settings and intialize the # dialog with them #settings = QSettings("MicroResources", "ZoomToPoint") #xValue = settings.value("coordinate/x") - #dlg.ui.xCoord.setText(str(xValue.toString())) + #self.dlg.ui.xCoord.setText(str(xValue.toString())) #yValue = settings.value("coordinate/y") - #dlg.ui.yCoord.setText(str(yValue.toString())) + #self.dlg.ui.yCoord.setText(str(yValue.toString())) #scale = settings.value("zoom/scale", QVariant(4)) - #dlg.ui.spinBoxScale.setValue(scale.toInt()[0]) + #self.dlg.ui.spinBoxScale.setValue(scale.toInt()[0]) + QObject.connect(self.dlg.ui.btnChooseFile, SIGNAL("clicked()"), self.setSaveFile) QObject.connect(self.dlg.ui.btnChooseProjectFile, SIGNAL("clicked()"), self.setProjectFile) QObject.connect(self.dlg.ui.chkExpLayersOnly, SIGNAL("clicked(bool)"), self.toggleLayersOnly) @@ -100,7 +133,8 @@ def run(self): print "Creating exporter using %s and %s" % (self.dlg.ui.txtQgisFilePath.text(), self.dlg.ui.txtMapFilePath.text()) exporter = Qgis2Map(unicode(self.dlg.ui.txtQgisFilePath.text()), unicode(self.dlg.ui.txtMapFilePath.text())) print "Setting options" - exporter.setOptions( + exporter.setOptions( + unicode(self.dlg.ui.txtMapServerUrl.text()), unicode(self.dlg.ui.cmbMapUnits.itemData( self.dlg.ui.cmbMapUnits.currentIndex() ).toString()), unicode(self.dlg.ui.cmbMapImageType.currentText()), unicode(self.dlg.ui.txtMapName.text()), @@ -108,7 +142,13 @@ def run(self): unicode(self.dlg.ui.txtMapHeight.text()), unicode(self.dlg.ui.txtWebTemplate.text()), unicode(self.dlg.ui.txtWebFooter.text()), - unicode(self.dlg.ui.txtWebHeader.text()) + unicode(self.dlg.ui.txtWebHeader.text()), + self.dlg.ui.checkBoxDump.isChecked(), + self.dlg.ui.checkBoxForce.isChecked(), + self.dlg.ui.checkBoxAntiAlias.isChecked(), + self.dlg.ui.checkBoxPartials.isChecked(), + unicode(self.dlg.ui.txtFontsetPath.text()), + unicode(self.dlg.ui.txtSymbolsetPath.text()) ) print "Calling writeMapFile" result = exporter.writeMapFile() diff --git a/python/plugins/mapserver_export/mapserverexportdialog.py b/python/plugins/mapserver_export/mapserverexportdialog.py index f9eb5b42e674..b53d9dad26b4 100644 --- a/python/plugins/mapserver_export/mapserverexportdialog.py +++ b/python/plugins/mapserver_export/mapserverexportdialog.py @@ -18,16 +18,31 @@ ***************************************************************************/ """ from PyQt4 import QtCore, QtGui -from ui_qgsmapserverexportbase import Ui_QgsMapserverExportBase +from ms_export import defaults +from ui_mapserverexport import Ui_QgsMapserverExportBase # create the dialog for mapserver export class MapServerExportDialog(QtGui.QDialog): - def __init__(self): + def __init__(self): QtGui.QDialog.__init__(self) # Set up the user interface from Designer. self.ui = Ui_QgsMapserverExportBase() self.ui.setupUi(self) - for unit in ["dd", "feet", "meters", "miles", "inches", "kilometers"]: + for unit in ["meters", "dd", "feet", "miles", "inches", "kilometers"]: self.ui.cmbMapUnits.addItem( QtGui.QApplication.translate("QgsMapserverExportBase", unit, None, QtGui.QApplication.UnicodeUTF8), QtCore.QVariant(unit) ) + + # TODO: set default unit. Is now the first value entered in the unit-list above + + # Set defaults from ms_export.py: + self.ui.txtMapServerUrl.setText(defaults.mapServerUrl) + self.ui.txtFontsetPath.setText(defaults.fontsPath) + self.ui.txtSymbolsetPath.setText(defaults.symbolsPath) + self.ui.checkBoxAntiAlias.setChecked(defaults.antialias) + self.ui.checkBoxDump.setChecked(defaults.dump) + self.ui.checkBoxForce.setChecked(defaults.force) + self.ui.checkBoxPartials.setChecked(defaults.partials) + self.ui.txtMapWidth.setText(defaults.width) + self.ui.txtMapHeight.setText(defaults.height) + diff --git a/python/plugins/mapserver_export/ms_export.py b/python/plugins/mapserver_export/ms_export.py index e8789c324462..6a8fe79d26f3 100644 --- a/python/plugins/mapserver_export/ms_export.py +++ b/python/plugins/mapserver_export/ms_export.py @@ -17,19 +17,88 @@ # presents a Qt based GUI that collects the needed information for this # script. # Matthew Perry contributed major portions of this work. +# Adapted by Erik van de Pol, B3Partners BV. # # CHANGES SHOULD NOT BE MADE TO THE writeMapFile METHOD UNLESS YOU # ARE CHANGING THE QgsMapserverExport CLASS AND YOU KNOW WHAT YOU ARE # DOING -import sys -import os + +from xml.dom import minidom from string import * -from xml.dom import minidom, Node -from qgis.core import * +from qgis.core import QgsDataSourceURI +from qgis.core import QgsMapLayerRegistry +#from qgis.core import QgsProject +from PyQt4.QtCore import QString +from PyQt4.QtCore import QVariant + # symbol map -qgisSymbols = {'hard:circle' : 'CIRCLE', - 'hard:triangle' : 'TRIANGLE'} +qgis2map_symbol = { + "hard:circle" : "circle", + "hard:triangle" : "triangle", + "hard:equilateral_triangle" : "equilateral-triangle", + "hard:rectangle" : "square", + "hard:regular_star" : "star", + "hard:diamond" : "diamond" +} + +# alignment/position map +qgis2map_aligment2position = { + "center" : "cc", + "above" : "uc", + "right" : "cr", + "below" : "lc", + "left" : "cl", + "aboveright" : "ur", + "belowright" : "lr", + "belowleft" : "ll", + "aboveleft" : "ul" +} + +# the keys are fonts that must be available in QGis +# the values in this dictionary must correspond to +# the fonts in the file denoted by the FONTSET in the mapfile +# +# "MS Shell Dlg 2" is the default label font in QGis. +# The automatic mapping to "Tahoma" is correct for Windows 2000, Windows XP, +# Windows Server 2003, Windows Vista and Windows 7. +# See: http://msdn.microsoft.com/en-us/library/dd374112%28VS.85%29.aspx +qgis2map_fontset = { + "Arial" : "arial", + "Courier" : "courier", + "Georgia" : "georgia", + "Times New Roman" : "times", + "Trebuchet MS" : "trebuchet_ms", + "Verdana" : "verdana", + "Tahoma" : "tahoma", + "MS Shell Dlg 2" : "tahoma" +} +# Note that tahoma-italic and tahoma-bold-italic do not exist. +# Therefore a mapping to the corresponding verdana-variants is made +# in the fonts file pointed to by the fontsPath. Feel free to map to another font there. + +bool2str = {True: "true", False: "false"} + +# This is a magic number now. Rationale? +symbolSizeMultiplier = 3.5 + + +class Qgis2MapDefaults: pass + +defaults = Qgis2MapDefaults() + +defaults.fontsPath = "./fonts/fonts.txt" +defaults.symbolsPath = "./symbols/symbols.txt" +defaults.mapServerUrl = "http://my.host.com/cgi-bin/mapserv.exe" +defaults.width = "100" +defaults.height = "100" + +defaults.dump = True +defaults.force = True +defaults.partials = True +defaults.antialias = True + + class Qgis2Map: def __init__(self, projectFile, mapFile): @@ -38,26 +107,47 @@ def __init__(self, projectFile, mapFile): # create the DOM self.qgs = minidom.parse(projectFile) # init the other members that are not set by the constructor + self.mapServerUrl = defaults.mapServerUrl + self.fontsPath = defaults.fontsPath + self.symbolsPath = defaults.symbolsPath self.units = '' self.imageType = '' self.mapName = '' - self.width = '' - self.height = '' + self.width = defaults.width + self.height = defaults.height self.minimumScale = '' self.maximumScale = '' self.template = '' self.header = '' self.footer = '' + self.dump = bool2str[defaults.dump] + self.force = bool2str[defaults.force] + self.antialias = bool2str[defaults.antialias] + self.partials = bool2str[defaults.partials] self.symbolQueue = {} - + # Set the options collected from the GUI - def setOptions(self, units, image, mapname, width, height, template, header, footer): + def setOptions(self, msUrl, units, image, mapname, width, height, template, header, footer, dump, force, antialias, partials, fontsPath, symbolsPath): + if msUrl.encode('utf-8') != "": + self.mapServerUrl = msUrl.encode('utf-8') + + if fontsPath.encode('utf-8') != "": + self.fontsPath = fontsPath.encode('utf-8') + + if symbolsPath.encode('utf-8') != "": + self.symbolsPath = symbolsPath.encode('utf-8') + + if width.encode('utf-8') != "": + self.width = width.encode('utf-8') + + if height.encode('utf-8') != "": + self.height = height.encode('utf-8') + self.units = units.encode('utf-8') self.imageType = image.encode('utf-8') self.mapName = mapname.encode('utf-8') - self.width = width.encode('utf-8') - self.height = height.encode('utf-8') + #self.minimumScale = minscale #self.maximumScale = maxscale self.template = template.encode('utf-8') @@ -65,6 +155,12 @@ def setOptions(self, units, image, mapname, width, height, template, header, foo self.footer = footer.encode('utf-8') #print units, image, mapname, width, height, template, header, footer + self.dump = bool2str[dump] + self.force = bool2str[force] + self.antialias = bool2str[antialias] + self.partials = bool2str[partials] + + ## All real work happens here by calling methods to write the ## various sections of the map file def writeMapFile(self): @@ -104,12 +200,13 @@ def writeMapFile(self): logmsg += "Wrote map layers\n" print " --- python : layer section done" + # we use an external synbol set instead # write the symbol defs section # must happen after layers so we can build a symbol queue - print " --- python : symbol section " - self.writeSymbolSection() - logmsg += "Wrote symbol section\n" - print " --- python : symbol section done" + #print " --- python : symbol section " + #self.writeSymbolSection() + #logmsg += "Wrote symbol section\n" + #print " --- python : symbol section done" # END and close the map file self.outFile.write("END") @@ -127,23 +224,41 @@ def writeMapSection(self): self.outFile.write("MAP\n") self.outFile.write(" NAME " + self.mapName + "\n") self.outFile.write(" # Map image size\n") - self.outFile.write(" SIZE " + self.width + " " + self.height + "\n") + if self.width == '' or self.height == '': + self.outFile.write(" SIZE 0 0\n") + else: + self.outFile.write(" SIZE " + str(self.width) + " " + str(self.height) + "\n") + self.outFile.write(" UNITS %s\n" % (self.units)) self.outFile.write("\n") # extents + self.outFile.write(self.getExtentString()) + + self.outFile.write(" FONTSET '" + self.fontsPath + "'\n") + # B3Partners uses external symbol set + self.outFile.write(" SYMBOLSET '" + self.symbolsPath + "'\n") + + def getExtentString(self): + stringToAddTo = "" + xmin = self.qgs.getElementsByTagName("xmin") - self.outFile.write(" EXTENT ") - self.outFile.write(xmin[0].childNodes[0].nodeValue.encode('utf-8')) - self.outFile.write(" ") + stringToAddTo += " EXTENT " + stringToAddTo += xmin[0].childNodes[0].nodeValue.encode('utf-8') + stringToAddTo += " " + ymin = self.qgs.getElementsByTagName("ymin") - self.outFile.write(ymin[0].childNodes[0].nodeValue.encode('utf-8')) - self.outFile.write(" ") + stringToAddTo += ymin[0].childNodes[0].nodeValue.encode('utf-8') + stringToAddTo += " " + xmax = self.qgs.getElementsByTagName("xmax") - self.outFile.write(xmax[0].childNodes[0].nodeValue.encode('utf-8')) - self.outFile.write(" ") + stringToAddTo += xmax[0].childNodes[0].nodeValue.encode('utf-8') + stringToAddTo += " " + ymax = self.qgs.getElementsByTagName("ymax") - self.outFile.write(ymax[0].childNodes[0].nodeValue.encode('utf-8')) - self.outFile.write("\n") + stringToAddTo += ymax[0].childNodes[0].nodeValue.encode('utf-8') + stringToAddTo += "\n" + + return stringToAddTo # Write the OUTPUTFORMAT section def writeOutputFormat(self): @@ -151,11 +266,14 @@ def writeOutputFormat(self): self.outFile.write(" IMAGECOLOR 192 192 192\n") self.outFile.write(" IMAGEQUALITY 95\n") self.outFile.write(" IMAGETYPE " + self.imageType + "\n") + self.outFile.write("\n") self.outFile.write(" OUTPUTFORMAT\n") self.outFile.write(" NAME " + self.imageType + "\n") self.outFile.write(" DRIVER 'GD/" + self.imageType.upper() + "'\n") self.outFile.write(" MIMETYPE 'image/" + lower(self.imageType) + "'\n") - self.outFile.write(" #IMAGEMODE PC256\n") + if self.imageType.lower() != "gif": + self.outFile.write(" IMAGEMODE RGBA\n") + #self.outFile.write(" #IMAGEMODE PC256\n") self.outFile.write(" EXTENSION '" + lower(self.imageType) + "'\n") self.outFile.write(" END\n") @@ -189,7 +307,14 @@ def writeLegendSection(self): self.outFile.write(" COLOR 0 0 89\n") self.outFile.write(" END\n") self.outFile.write(" END\n\n") - + + # groups are ignored as of yet + self.legendlayerfileNodesById = {} + for legendlayerfileNode in self.qgs.getElementsByTagName("legend")[0].getElementsByTagName("legendlayerfile"): + key = legendlayerfileNode.getAttribute("layerid").encode("utf-8") + if (key != ""): + self.legendlayerfileNodesById[key] = legendlayerfileNode + # Write the symbol definitions def writeSymbolSection(self): for symbol in self.symbolQueue.keys(): @@ -210,12 +335,14 @@ def writeWebSection(self): self.outFile.write(" IMAGEURL '/tmp/'\n") self.outFile.write("\n") - # TODO allow user to configure this + destsrs = self.qgs.getElementsByTagName("destinationsrs")[0] + epsg = destsrs.getElementsByTagName("epsg")[0].childNodes[0].nodeValue.encode("utf-8") + self.outFile.write(" # WMS server settings\n") self.outFile.write(" METADATA\n") - self.outFile.write(" 'wms_title' '\"" + self.mapName + "\"'\n") - self.outFile.write(" 'wms_onlineresource' 'http://my.host.com/cgi-bin/mapserv?map=wms.map&'\n") - self.outFile.write(" 'wms_srs' 'EPSG:4326'\n") + self.outFile.write(" 'wms_title' '" + self.mapName + "'\n") + self.outFile.write(" 'wms_onlineresource' '" + self.mapServerUrl + "?" + "map" + "=" + self.mapFile + "'\n") + self.outFile.write(" 'wms_srs' 'EPSG:" + epsg + "'\n") self.outFile.write(" END\n\n") self.outFile.write(" #Scale range at which web interface will operate\n") @@ -270,12 +397,17 @@ def writeMapLayers(self): layer_def += " TYPE " + lyr.getAttribute("geometry").encode('utf-8').upper() + "\n" elif lyr.getAttribute("type").encode('utf-8') == 'raster': layer_def += " TYPE " + lyr.getAttribute("type").encode('utf-8').upper() + "\n" - + + # Uses default value from the gui + layer_def += " DUMP " + self.dump + "\n" + # Set min/max scales if lyr.getAttribute('hasScaleBasedVisibilityFlag').encode('utf-8') == 1: layer_def += " MINSCALE " + lyr.getAttribute('minimumScale').encode('utf-8') + "\n" layer_def += " MAXSCALE " + lyr.getAttribute('maximumScale').encode('utf-8') + "\n" + layer_def += self.getExtentString() + # data dataString = lyr.getElementsByTagName("datasource")[0].childNodes[0].nodeValue.encode('utf-8') @@ -288,12 +420,24 @@ def writeMapLayers(self): providerString = '' if providerString == 'postgres': + # it's a postgis layer uri = QgsDataSourceURI(dataString) layer_def += " CONNECTIONTYPE postgis\n" layer_def += " CONNECTION \"" + uri.connectionInfo() + "\"\n" - layer_def += " DATA '\"" + uri.geometryColumn() + "\" FROM " + uri.quotedTablename() + "'\n" + # EvdP: it seems that the uri.geometryColumn() is quoted automaticly by PostGIS. + # To prevent double quoting, we don't quote here. + # Now we are unable to process uri.geometryColumn()s with special characters (uppercase... etc.) + #layer_def += " DATA '\"" + uri.geometryColumn() + "\" FROM " + uri.quotedTablename() + "'\n" + #layer_def += " DATA '" + uri.geometryColumn() + " FROM " + uri.quotedTablename() + "'\n" + + layer_id = lyr.getElementsByTagName("id")[0].childNodes[0].nodeValue.encode("utf-8") + + uniqueId = self.getPrimaryKey(layer_id, uri.table()) + epsg = self.getEpsg(lyr) + + layer_def += " DATA '" + uri.geometryColumn() + " FROM " + uri.quotedTablename() + " USING UNIQUE " + uniqueId + " USING srid=" + epsg + "'\n" # don't write the filter keyword if there isn't one if uri.sql() != "": layer_def += " FILTER ( " + uri.sql() + " )\n" @@ -319,10 +463,12 @@ def writeMapLayers(self): layer_def += " 'wms_name' '" + ','.join(wmsNames) + "'\n" layer_def += " 'wms_server_version' '1.1.1'\n" try: - ct = lyr.getElementsByTagName('coordinatetransform')[0] - srs = ct.getElementsByTagName('sourcesrs')[0].getElementsByTagName('spatialrefsys')[0] - epsg = srs.getElementsByTagName('epsg')[0].childNodes[0].nodeValue.encode('utf-8') - layer_def += " 'wms_srs' 'EPSG:4326 EPSG:" + epsg + "'\n" + #ct = lyr.getElementsByTagName('coordinatetransform')[0] + #srs = ct.getElementsByTagName('sourcesrs')[0].getElementsByTagName('spatialrefsys')[0] + #epsg = srs.getElementsByTagName('epsg')[0].childNodes[0].nodeValue.encode('utf-8') + #layer_def += " 'wms_srs' 'EPSG:4326 EPSG:" + epsg + "'\n" + layer_def += " 'wms_srs' 'EPSG:" + self.getEpsg(lyr) + "'\n" + # TODO: add epsg to all METADATA tags?? except: pass layer_def += " 'wms_format' '" + format + "'\n" @@ -338,7 +484,19 @@ def writeMapLayers(self): layer_def += " 'wms_title' '" + lyr.getElementsByTagName("layername")[0].childNodes[0].nodeValue.encode('utf-8').replace("\"", "") + "'\n" layer_def += " END\n" - layer_def += " STATUS DEFAULT\n" + layer_def += " STATUS OFF\n" + #layer_def += " STATUS DEFAULT\n" + + # turn status in MapServer on or off based on visibility in QGis: +# layer_id = lyr.getElementsByTagName("id")[0].childNodes[0].nodeValue.encode("utf-8") +# legendLayerNode = self.legendlayerfileNodesById[layer_id] + +# if legendLayerNode.getAttribute("visible").encode("utf-8") == "1": +# layer_def += " STATUS ON\n" +# else: +# layer_def += " STATUS OFF\n" + + opacity = int ( 100.0 * float(lyr.getElementsByTagName("transparencyLevelInt")[0].childNodes[0].nodeValue.encode('utf-8')) / 255.0 ) @@ -376,8 +534,7 @@ def writeMapLayers(self): # write the CLASS section for rendering # First see if there is a single symbol renderer if lyr.getElementsByTagName("singlesymbol").length > 0: - symbolNode = lyr.getElementsByTagName("singlesymbol")[0].getElementsByTagName('symbol')[0] - layer_def += self.simpleRenderer(lyr, symbolNode) + layer_def += self.simpleRenderer(lyr, lyr.getElementsByTagName("singlesymbol")[0].getElementsByTagName('symbol')[0] ) elif lyr.getElementsByTagName("graduatedsymbol").length > 0: layer_def += self.graduatedRenderer(lyr, lyr.getElementsByTagName("graduatedsymbol")[0].getElementsByTagName('symbol')[0] ) elif lyr.getElementsByTagName("continuoussymbol").length > 0: @@ -397,7 +554,74 @@ def writeMapLayers(self): self.outFile.write(layer_list[layer]) + def getEpsg(self, lyr): + srs = lyr.getElementsByTagName('srs')[0].getElementsByTagName('spatialrefsys')[0] + return srs.getElementsByTagName('epsg')[0].childNodes[0].nodeValue.encode('utf-8') + + + def getPrimaryKey(self, layerId, tableName): + """ + Since we have no Python bindings for "src\providers\postgres\qgspostgresprovider.cpp" + we approximate the primary key by finding an integer type field containing "fid" or "id" + This is obviously a lousy solution at best. + + This script requires the project you export to be open in QGis. + """ + + mlr = QgsMapLayerRegistry.instance() + layers = mlr.mapLayers() + layer = layers[QString(layerId)] + dataProvider = layer.dataProvider() + fields = dataProvider.fields() + + intTypes = [QVariant.Int, QVariant.LongLong, QVariant.UInt, QVariant.ULongLong] + + integerFields = [] + for id, field in fields.iteritems(): + if field.type() in intTypes: + integerFields.append(id) + + # fid end + fidIntegerFields = [] + for id in integerFields: + if fields[id].name().endsWith("fid"): + fidIntegerFields.append(id) + + if len(fidIntegerFields) == 1: + return fields[fidIntegerFields[0]].name().__str__() + # fid start + fidIntegerFields[:] = [] + for id in integerFields: + if fields[id].name().startsWith("fid"): + fidIntegerFields.append(id) + + if len(fidIntegerFields) == 1: + return fields[fidIntegerFields[0]].name().__str__() + + # id end + idIntegerFields = [] + for id in integerFields: + if fields[id].name().endsWith("id"): + idIntegerFields.append(id) + + if len(idIntegerFields) == 1: + return fields[idIntegerFields[0]].name().__str__() + + # id start + idIntegerFields[:] = [] + for id in integerFields: + if fields[id].name().startsWith("id"): + idIntegerFields.append(id) + + if len(idIntegerFields) == 1: + return fields[idIntegerFields[0]].name().__str__() + + # if we arrive here we have ambiguous or no primary keys + #print "Error: Could not find primary key from field type and field name information.\n" + + # using a mapfile pre-processor, the proper id field can be substituted in the following: + return "%" + tableName + "_id%" # Simple renderer ouput # We need the layer node and symbol node @@ -413,7 +637,7 @@ def simpleRenderer(self, layerNode, symbolNode): # use the point symbol map to lookup the mapserver symbol type symbol = self.msSymbol( geometry, symbolNode ) class_def += " SYMBOL " + symbol + " \n" - class_def += " SIZE " + symbolNode.getElementsByTagName('pointsize')[0].childNodes[0].nodeValue.encode('utf-8') + " \n" + class_def += self.getSymbolSizeString(symbolNode) # outline color outlineNode = symbolNode.getElementsByTagName('outlinecolor')[0] @@ -430,7 +654,13 @@ def simpleRenderer(self, layerNode, symbolNode): class_def += " END\n" return class_def - + + + def getSymbolSizeString(self, symbolNode): + size = float(symbolNode.getElementsByTagName('pointsize')[0].childNodes[0].nodeValue.encode('utf-8')) + symbolSize = size * symbolSizeMultiplier + return " SIZE " + str(symbolSize) + " \n" + # Graduated symbol renderer output def graduatedRenderer(self, layerNode, symbolNode): @@ -465,7 +695,7 @@ def graduatedRenderer(self, layerNode, symbolNode): # Symbol size if geometry == 'POINT' or geometry == 'LINE': - class_def += " SIZE " + cls.getElementsByTagName('pointsize')[0].childNodes[0].nodeValue.encode('utf-8') + " \n" + class_def += self.getSymbolSizeString(cls) # outline color outlineNode = cls.getElementsByTagName('outlinecolor')[0] @@ -570,9 +800,7 @@ def uniqueRenderer(self, layerNode, symbolNode): # Symbol size if geometry == 'POINT' or geometry == 'LINE': - class_def += " SIZE " \ - + cls.getElementsByTagName('pointsize')[0].childNodes[0].nodeValue.encode('utf-8') \ - + " \n" + class_def += self.getSymbolSizeString(cls) # outline color outlineNode = cls.getElementsByTagName('outlinecolor')[0] @@ -608,6 +836,24 @@ def formatProj4(self, proj4text): ret = ret + " '" + p + "'\n" return ret + def getProj4(self, proj4text): + """Returns the proj4 string as a dictionary with key value pairs.""" + parms = proj4text.split(" ") + ret = {} + for p in parms: + p = p.replace("+","") + keyValue = p.split("=") + + key = keyValue[0] + + value = "" + try: value = keyValue[1] + except: value = "" + + if key != "": + ret[key] = value + return ret + # Determines the symbol name and adds it to the symbol queue def msSymbol(self, geometry, symbolNode): # contains the same markup for a layer regardless of type @@ -621,67 +867,158 @@ def msSymbol(self, geometry, symbolNode): symbol = '0' elif geometry == 'POINT': try: - symbolName = qgisSymbols[symbolNode.getElementsByTagName('pointsymbol')[0].childNodes[0].nodeValue.encode('utf-8')] + symbolName = qgis2map_symbol[symbolNode.getElementsByTagName('pointsymbol')[0].childNodes[0].nodeValue.encode('utf-8')] except: - symbolName = "CIRCLE" - # make sure it's single quoted - symbol = "'" + symbolName + "'" - - if symbolName == 'CIRCLE': - self.symbolQueue['CIRCLE'] = """ - #Circle symbol - SYMBOL - NAME 'CIRCLE' - TYPE ellipse - FILLED true - POINTS - 1 1 - END - END """ - - if symbolName == 'TRIANGLE': - self.symbolQueue['TRIANGLE'] = """ - SYMBOL - NAME "TRIANGLE" - TYPE vector - FILLED true - POINTS - 0 1 - .5 0 - 1 1 - 0 1 - END - END """ + symbolName = "circle" + # make sure it's double quoted + symbol = "\"" + symbolName + "\"" + +# a symbol set in an external symbol.txt file is used; see comment on top of this file +# if symbolName == 'CIRCLE': +# self.symbolQueue['CIRCLE'] = """ +# #Circle symbol +# SYMBOL +# NAME 'CIRCLE' +# TYPE ellipse +# FILLED true +# POINTS +# 1 1 +# END +# END """ +# +# if symbolName == 'TRIANGLE': +# self.symbolQueue['TRIANGLE'] = """ +# SYMBOL +# NAME "TRIANGLE" +# TYPE vector +# FILLED true +# POINTS +# 0 1 +# .5 0 +# 1 1 +# 0 1 +# END +# END """ return symbol # Label block creation - # TODO field-based parameters, alignment, truetype fonts, sizes def msLabel(self, layerNode): # currently a very basic bitmap font labelNode = layerNode.getElementsByTagName('labelattributes')[0] - labelField = labelNode.getElementsByTagName('label')[0].getAttribute('field').encode('utf-8') + #labelField = labelNode.getElementsByTagName('label')[0].getAttribute('field').encode('utf-8') + # why was the attribute 'field' and not 'fieldname'? + labelField = labelNode.getElementsByTagName('label')[0].getAttribute('fieldname').encode('utf-8') if labelField != '' and labelField is not None: labelBlock = " LABEL \n" - - labelBlock += " SIZE medium\n" - labelBlock += " COLOR 0 0 0 \n" + + # see comment at 'qgis2ms_fontset' + fontQgis = labelNode.getElementsByTagName('family')[0].getAttribute('name').encode('utf-8') + fontMs = "" + try: + fontMs = qgis2map_fontset[fontQgis] + except: + # we default to the first font in the fontset, if any are present + if len(qgis2map_fontset) > 0: + try: + fontMs = qgis2map_fontset["MS Shell Dialog 2"] + except: + sortedKeys = qgis2map_fontset.keys() + sortedKeys.sort() + fontMs = qgis2map_fontset[sortedKeys[0]] + else: + fontMs = "" + + bold = bool(int(labelNode.getElementsByTagName('bold')[0].getAttribute('on').encode("utf-8"))) + italic = bool(int(labelNode.getElementsByTagName('italic')[0].getAttribute('on').encode("utf-8"))) + + # "-bold" and "-italic" must correspond with the fontset file + # font can be both bold and italic + labelBlock += " FONT " + fontMs + if bold: labelBlock += "-bold" + if italic: labelBlock += "-italic" + labelBlock += "\n" + + labelBlock += " TYPE truetype\n" + + size = self.getFieldName(labelNode, 'size') + if size == "": + sizeNode = labelNode.getElementsByTagName('size')[0] + units = sizeNode.getAttribute("units").encode("utf-8") + sizeValue = int(sizeNode.getAttribute("value").encode("utf-8")) + # we must convert to px for use in the mapfile + sizePx = 11 # default + sizePx = sizeValue + #if units == "pt": sizePx = int(sizeValue / 0.75) + # TODO: find appropriate conversion metric from map units to pixels + #elif unit == "mu": + #proj4Elem = labelNode.parentNode.getElementsByTagName("proj4")[0].childNodes[0] + #proj4str = proj4Elem.nodeValue.encode('utf-8') + #proj4Dict = self.getProj4(proj4str) + #for i,j in proj4Dict.iteritems(): + #labelBlock += str(i) + ":: " + str(j) + "\n" + # + #sizePx = ????? proj4Dict["units"] ?? + # non-used unit types: + #elif unit == "em": sizePx = int(size * 16.0) + #elif unit == "px": sizePx = size + size = str(sizePx) + labelBlock += " SIZE " + size + "\n" + + color = self.getFieldName(labelNode, 'color') + if color == "": + colorNode = labelNode.getElementsByTagName('color')[0] + r = int(colorNode.getAttribute("red")) + g = int(colorNode.getAttribute("green")) + b = int(colorNode.getAttribute("blue")) + color = str(r) + " " + str(g) + " " + str(b) + labelBlock += " COLOR " + color + "\n" # Include label angle if specified - # Note that angles only work for truetype fonts which aren't supported yet - angle = labelNode.getElementsByTagName('angle')[0].getAttribute('value').encode('utf-8') + # Note that angles only work for truetype fonts + angle = self.getFieldName(labelNode, 'angle') + if angle == "": + angle = labelNode.getElementsByTagName('angle')[0].getAttribute('value').encode('utf-8') labelBlock += " ANGLE " + angle + "\n" # Include label buffer if specified # Note that the buffer has different meaning in qgis vs mapserver # mapserver just adds blank space around the label while # qgis uses a fill color around the label - # Note that buffer only works for truetype fonts which aren't supported yet + # Note that buffer only works for truetype fonts buffer = labelNode.getElementsByTagName('buffersize')[0].getAttribute('value').encode('utf-8') labelBlock += " BUFFER " + buffer + "\n" + # alignment in QGis corresponds to position in MapServer + alignment = labelNode.getElementsByTagName('alignment')[0].getAttribute('value').encode('utf-8') + try: + labelBlock += " POSITION " + qgis2map_aligment2position[alignment] + "\n" + except: + # default to center if we encounter a nonsensical value + labelBlock += " POSITION cc\n" + + #values from the gui: + labelBlock += " FORCE " + self.force + "\n" + labelBlock += " ANTIALIAS " + self.antialias + "\n" + labelBlock += " PARTIALS " + self.partials + "\n" + labelBlock += " END \n" return labelBlock else: return '' + + def getFieldName(self, parentNode, nodeName): + """ Returns the fieldname-attribute-value of a nodeName with a given parentNode + as a string surrounded by brackets ('[' and ']') or + an empty string if the fieldname-attribute does not exist.""" + try: + fieldname = parentNode.getElementsByTagName(nodeName)[0].getAttribute('fieldname').encode('utf-8') + if fieldname != "": + return "[" + fieldname + "]" + else: + return "" + except: + return "" + + diff --git a/python/plugins/mapserver_export/qgsmapserverexportbase.ui b/python/plugins/mapserver_export/qgsmapserverexportbase.ui index 96cf96ea6c4c..e6f62adf6fd0 100644 --- a/python/plugins/mapserver_export/qgsmapserverexportbase.ui +++ b/python/plugins/mapserver_export/qgsmapserverexportbase.ui @@ -1,197 +1,147 @@ - + + Gary Sherman QgsMapserverExportBase - - + + 0 0 - 416 - 480 + 400 + 522 - + Export to Mapserver - + true - - + + 9 - - 9 - - - 9 - - - 9 - - + 6 - - 6 - - - - + + + Web Interface Definition - - - 0 - - - 0 - - - 0 - - + + 0 - + 0 - - 0 - - - - + + + 6 - - 4 - - - 4 - - - 4 - - + 4 - - + + 60 0 - + Template - + txtWebTemplate - - + + Path to the MapServer template file - - + + Browse... - - - + + + 6 - - 4 - - - 4 - - - 4 - - + 4 - - + + 60 0 - + Header - + txtWebHeader - + - - + + Browse... - - - + + + 6 - - 4 - - - 4 - - - 4 - - + 4 - - + + 60 0 - + Footer - + txtWebFooter - + - - + + Browse... @@ -201,111 +151,89 @@ - - - + + + Map - - - 0 - - - 0 - - + + 0 - + 0 - - 0 - - - 0 - - - - + + + 6 - - 4 - - - 4 - - - 4 - - + 4 - - + + Units - + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - + cmbMapUnits - - + - - + + Image type - + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - + cmbMapImageType - + - - gif + + png - - gtiff + + gif - - jpeg + + gtiff - - png + + jpeg - + swf - + userdefined - + wbmp @@ -313,84 +241,66 @@ - - - + + + 6 - - 4 - - - 4 - - - 4 - - + 4 - - + + Width - + txtMapWidth - + - - + + Height - + txtMapHeight - + - - - + + + 6 - - 4 - - - 4 - - - 4 - - + 4 - - + + - + Name - + txtMapName - - + + Prefix attached to map, scalebar and legend GIF filenames created using this MapFile @@ -400,74 +310,300 @@ - - - + + + Map file - + txtMapFilePath - - - + + + Name for the map file to be created from the QGIS project file - - - + + + Browse... - - - + + + Full path to the QGIS project file to export to MapServer map format - - - + + + QGIS project file - + txtQgisFilePath - - - + + + Save As... - - - + + + If checked, only the layer information will be processed - + Export LAYER information only - - - - QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::NoButton|QDialogButtonBox::Ok + + + + QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::Ok + + + + + + + + 0 + 0 + + + + Options + + + + 0 + + + 0 + + + + + QLayout::SetDefaultConstraint + + + 4 + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Forces labels on, regardless of collisions. Available only for cached labels.</span></p></body></html> + + + Force + + + true + + + + + + + Should text be antialiased? Note that this requires more available colors, decreases drawing performance, and results in slightly larger output images. + + + Anti-alias + + + true + + + + + + + Can text run off the edge of the map? + + + Partials + + + true + + + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Check to allow MapServer to return data in GML format. Useful when used with WMS GetFeatureInfo operations.</span></p></body></html> + + + Dump + + + true + + + + + + + + + + + + Paths + + + 0 + + + 0 + + + + + 4 + + + + + + 80 + 0 + + + + MapServer url + + + txtMapServerUrl + + + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">The URL to the mapserver executable.</span></p> +<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:8pt;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">For example: </span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">http://my.host.com/cgi-bin/mapserv.exe</span></p></body></html> + + + + + + + + + + + + 4 + + + + + + 80 + 0 + + + + Fontset path + + + txtFontsetPath + + + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">The URL to the mapserver executable.</span></p> +<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:8pt;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">For example: </span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">http://my.host.com/cgi-bin/mapserv.exe</span></p></body></html> + + + + + + + + + + + + 4 + + + + + + 80 + 0 + + + + Symbolset path + + + txtSymbolsetPath + + + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">The URL to the mapserver executable.</span></p> +<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:8pt;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">For example: </span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">http://my.host.com/cgi-bin/mapserv.exe</span></p></body></html> + + + + + + + + + - + qPixmapFromMimeSource txtMapFilePath @@ -495,11 +631,11 @@ QgsMapserverExportBase accept() - + 335 422 - + 240 223 @@ -511,11 +647,11 @@ QgsMapserverExportBase reject() - + 426 422 - + 240 223 diff --git a/src/app/composer/qgscomposermapwidget.cpp b/src/app/composer/qgscomposermapwidget.cpp index b4962e935413..0ca614675a53 100644 --- a/src/app/composer/qgscomposermapwidget.cpp +++ b/src/app/composer/qgscomposermapwidget.cpp @@ -25,13 +25,10 @@ QgsComposerMapWidget::QgsComposerMapWidget( QgsComposerMap* composerMap ): QWidget(), mComposerMap( composerMap ) { setupUi( this ); - mGridWidget->setVisible( false ); - mGridWidget->setParent( 0 ); //in order to save space, separate the grid widget - mGridWidget->setWindowFlags( Qt::CustomizeWindowHint | Qt::WindowTitleHint ); //add widget for general composer item properties QgsComposerItemWidget* itemPropertiesWidget = new QgsComposerItemWidget( this, composerMap ); - gridLayout_3->addWidget( itemPropertiesWidget, 6, 0, 1, 1 ); + gridLayout->addWidget( itemPropertiesWidget ); QDoubleValidator v( 0 ); mWidthLineEdit->setValidator( &v ); @@ -71,7 +68,6 @@ QgsComposerMapWidget::QgsComposerMapWidget( QgsComposerMap* composerMap ): QWidg QgsComposerMapWidget::~QgsComposerMapWidget() { - delete mGridWidget; } void QgsComposerMapWidget::on_mWidthLineEdit_editingFinished() @@ -302,11 +298,11 @@ void QgsComposerMapWidget::updateGuiElements() //grid if ( mComposerMap->gridEnabled() ) { - mGridCheckBox->setCheckState( Qt::Checked ); + mGridCheckBox->setChecked( true ); } else { - mGridCheckBox->setCheckState( Qt::Unchecked ); + mGridCheckBox->setChecked( false ); } mIntervalXSpinBox->setValue( mComposerMap->gridIntervalX() ); @@ -468,14 +464,14 @@ void QgsComposerMapWidget::on_mKeepLayerListCheckBox_stateChanged( int state ) } } -void QgsComposerMapWidget::on_mGridCheckBox_stateChanged( int state ) +void QgsComposerMapWidget::on_mGridCheckBox_toggled( bool state ) { if ( !mComposerMap ) { return; } - if ( state == Qt::Checked ) + if ( state ) { mComposerMap->setGridEnabled( true ); } @@ -683,18 +679,6 @@ void QgsComposerMapWidget::on_mAnnotationDirectionComboBox_currentIndexChanged( mComposerMap->update(); } -void QgsComposerMapWidget::on_mShowGridDialogCheckBox_stateChanged( int state ) -{ - if ( state == Qt::Checked ) - { - mGridWidget->setVisible( true ); - } - else - { - mGridWidget->setVisible( false ); - } -} - void QgsComposerMapWidget::on_mCoordinatePrecisionSpinBox_valueChanged( int value ) { if ( !mComposerMap ) diff --git a/src/app/composer/qgscomposermapwidget.h b/src/app/composer/qgscomposermapwidget.h index ccf758d32bc1..5fe5927b485e 100644 --- a/src/app/composer/qgscomposermapwidget.h +++ b/src/app/composer/qgscomposermapwidget.h @@ -49,7 +49,7 @@ class QgsComposerMapWidget: public QWidget, private Ui::QgsComposerMapWidgetBase void on_mYMinLineEdit_editingFinished(); void on_mYMaxLineEdit_editingFinished(); - void on_mGridCheckBox_stateChanged( int state ); + void on_mGridCheckBox_toggled( bool state ); void on_mIntervalXSpinBox_editingFinished(); void on_mIntervalYSpinBox_editingFinished(); void on_mOffsetXSpinBox_editingFinished(); @@ -63,7 +63,6 @@ class QgsComposerMapWidget: public QWidget, private Ui::QgsComposerMapWidgetBase void on_mAnnotationPositionComboBox_currentIndexChanged( const QString& text ); void on_mDrawAnnotationCheckBox_stateChanged( int state ); void on_mAnnotationDirectionComboBox_currentIndexChanged( const QString& text ); - void on_mShowGridDialogCheckBox_stateChanged( int state ); void on_mCoordinatePrecisionSpinBox_valueChanged( int value ); /**Updates width and height without notify the composer map (to avoid infinite recursion)*/ diff --git a/src/gui/qgsdetaileditemdelegate.cpp b/src/gui/qgsdetaileditemdelegate.cpp index 821d20bd057f..b1d3aa03774e 100644 --- a/src/gui/qgsdetaileditemdelegate.cpp +++ b/src/gui/qgsdetaileditemdelegate.cpp @@ -250,7 +250,7 @@ QFont QgsDetailedItemDelegate::titleFont( const QStyleOptionViewItem &theOption { QFont myTitleFont = detailFont( theOption ); myTitleFont.setBold( true ); - myTitleFont.setPointSize( myTitleFont.pointSize() + 1 ); + myTitleFont.setPointSize( myTitleFont.pointSize() ); return myTitleFont; } diff --git a/src/plugins/copyright_label/pluginguibase.ui b/src/plugins/copyright_label/pluginguibase.ui index 1b8ef98bcf4b..482da7a4a760 100644 --- a/src/plugins/copyright_label/pluginguibase.ui +++ b/src/plugins/copyright_label/pluginguibase.ui @@ -1,158 +1,189 @@ - + + QgsCopyrightLabelPluginGuiBase - - + + 0 0 - 556 - 489 + 360 + 331 - + Copyright Label Plugin - + - - - - - true - - - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> + + + + 10 + 50 + 341 + 161 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"><span style=" font-size:12pt;">Description</span></p> -<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:9pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;">Enter your copyright label below. This plugin supports basic html markup tags for formatting the label. For example:</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"><span style=" font-weight:600;">&lt;b&gt; Bold text &lt;/b&gt; </span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt; font-weight:600;"><span style=" font-weight:400; font-style:italic;">&lt;i&gt; Italics &lt;/i&gt;</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt; font-style:italic;"><span style=" font-style:normal;">(note: &amp;copy; gives a copyright symbol)</span></p></body></html> - - - - - - - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Verdana';">© QGIS 2009</p></body></html> - - - - - - - Placement - - - cboPlacement - - - - - - - - Bottom Left +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Verdana'; font-size:10pt;">© QGIS 2009</span></p></body></html> + + + + + + 10 + 10 + 339 + 18 + + + + Enable copyright label + + + true + + + + + + 10 + 300 + 341 + 25 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::Ok + + + + + + 10 + 30 + 181 + 16 + + + + &Enter your copyright label here: + + + txtCopyrightText + + + + + + 10 + 220 + 341 + 81 + + + + + QFormLayout::AllNonFixedFieldsGrow + + + + + &Placement + + + cboPlacement + + + + + + + + Bottom Left + + + + + Top Left + + + + + Bottom Right + + + + + Top Right + + + + + + + + &Orientation - - - - Top Left + + cboOrientation - - - - Bottom Right + + + + + + + Horizontal + + + + + Vertical + + + + + + + + &Color - - - - Top Right + + pbnColorChooser - - - - - - - Orientation - - - cboOrientation - - - - - - - - Horizontal + + + + + + + 0 + 0 + - - - - Vertical + + + 100 + 0 + - - - - - - - Color - - - pbnColorChooser - - - - - - - - 0 - 0 - - - - - 100 - 0 - - - - - - - - Enable copyright label - - - true - - - - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::NoButton|QDialogButtonBox::Ok - - - - + + + + - + QgsColorButton @@ -161,16 +192,14 @@ p, li { white-space: pre-wrap; } - textEdit3 txtCopyrightText cboPlacement cboOrientation pbnColorChooser - cboxEnabled buttonBox - + diff --git a/src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp b/src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp index c83dcc62fd7a..5f9aee899016 100644 --- a/src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp +++ b/src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp @@ -56,19 +56,6 @@ QgsDelimitedTextPluginGui::QgsDelimitedTextPluginGui( QgisInterface * _qI, QWidg delimiterRegexp->setChecked( true ); } - QString format = QString( "

%1

%2

%3

" ); - QString header = tr( "Description" ); - QString paragraph1 = tr( "Select a delimited text file containing a header row" - " and one or more rows of x and y coordinates that you" - " would like to use as a point layer and this plugin will do the job for you!" ); - QString paragraph2 = tr( "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, tab or a regular expression in Perl style). After choosing a delimiter," - " press the parse button and select the columns containing the x and y values for the layer." ); - teInstructions->setHtml( format.arg( header ) - .arg( paragraph1 ) - .arg( paragraph2 ) ); - txtSample->setFixedHeight( 120 ); } QgsDelimitedTextPluginGui::~QgsDelimitedTextPluginGui() diff --git a/src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui b/src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui index 4de87a4452b4..b0a7ebb7f5c3 100644 --- a/src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui +++ b/src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui @@ -1,309 +1,297 @@ - + + QgsDelimitedTextPluginGuiBase - - + + 0 0 522 - 547 + 424 - + Create a Layer from a Delimited Text File - + - - - - - - Sans Serif - 20 - 50 - false - false - false - false - - - - Delimited Text Layer - - - Qt::AlignCenter - - + + + + + + + + 0 + 0 + + + + Delimited text file + + + txtFilePath + + + + + + + Full path to the delimited text file + + + 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. + + + true + + + + + + + true + + + Browse to find the delimited text file to be processed + + + 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 <i>Delimiter</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. + + + ... + + + + + + + + 0 + 0 + + + + Layer name + + + txtLayerName + + + + + + + Name to display in the map legend + + + Name displayed in the map legend + + + + - - - - true - - - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;"> -<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:'Verdana';"></p></body></html> - - - - - - - - 0 - 0 - - - - Delimited text file - - - txtFilePath - - - - - - - Full path to the delimited text file - - - 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. - - - true - - - - - - - true - - - Browse to find the delimited text file to be processed - - - 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 <i>Delimiter</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. - - - ... - - - - - - - - 0 - 0 - - - - Layer name - - - txtLayerName - - - - - - - Name to display in the map legend - - - Name displayed in the map legend - - - - - - - - 0 - 0 - - - + + + Delimiter - - txtDelimiter - - - - - - - - 0 - 0 - - - - - 32767 - 32767 - - - - Delimiter to use when splitting fields in the text file. The delimiter can be more than one character. - - - Delimiter to use when splitting fields in the delimited text file. The delimiter can be 1 or more characters in length. - + + + + + + 0 + 0 + + + + Delimiter string + + + txtDelimiter + + + + + + + + 0 + 0 + + + + + 32767 + 32767 + + + + Delimiter to use when splitting fields in the text file. The delimiter can be more than one character. + + + Delimiter to use when splitting fields in the delimited text file. The delimiter can be 1 or more characters in length. + + + + + + + + 0 + 0 + + + + Type + + + delimiterPlain + + + + + + + The delimiter is taken as is + + + The delimiter is taken as is + + + Plain characters + + + + + + + The delimiter is a regular expression + + + The delimiter is a regular expression + + + Regular expression + + + + - - - - Delimiter type - - - delimiterPlain - - - - - - - The delimiter is taken as is - - - The delimiter is taken as is - - - Plain characters - - - - - - - The delimiter is a regular expression - - - The delimiter is a regular expression - - - Regular expression - - - - - - + + + Geometry + + + + + <p align="right">X field</p> + + + cmbXField + + + + + + + + 0 + 0 + + + + + 120 + 0 + + + + Name of the field containing x values + + + 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. + + + true + + + + + + + + 0 + 0 + + + + + 120 + 0 + + + + Name of the field containing y values + + + 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. + + + true + + + + + + + <p align="right">Y field</p> + + + cmbYField + + + + - - - - <p align="right">X field</p> - - - cmbXField - - - - - - - - 0 - 0 - - - - - 120 - 0 - - - - Name of the field containing x values - - - 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. - - - true - - - - - - - <p align="right">Y field</p> - - - cmbYField - - - - - - - - 0 - 0 - - - - - 120 - 0 - - - - Name of the field containing y values - - - 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. - - - true - - - - - - + + + Sample text - + txtSample - - - + + + true - - - + + + Qt::Horizontal - - QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::NoButton|QDialogButtonBox::Ok + + QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::Ok - + QgsFileDropEdit @@ -312,7 +300,6 @@ p, li { white-space: pre-wrap; } - teInstructions txtFilePath btnBrowseForFile txtLayerName @@ -325,7 +312,7 @@ p, li { white-space: pre-wrap; } buttonBox - + diff --git a/src/plugins/georeferencer/mapcoordsdialog.cpp b/src/plugins/georeferencer/mapcoordsdialog.cpp index bec5d506611d..cb79989d16fb 100644 --- a/src/plugins/georeferencer/mapcoordsdialog.cpp +++ b/src/plugins/georeferencer/mapcoordsdialog.cpp @@ -58,19 +58,13 @@ MapCoordsDialog::~MapCoordsDialog() void MapCoordsDialog::updateOK() { bool enable = ( leXCoord->text().size() != 0 && leYCoord->text().size() != 0 ); - buttonOk->setEnabled( enable ); + buttonBox->button( QDialogButtonBox::Ok )->setEnabled( enable ); } -void MapCoordsDialog::on_buttonOk_clicked() +void MapCoordsDialog::accept() { QgsPoint mapCoords( leXCoord->text().toDouble(), leYCoord->text().toDouble() ); emit pointAdded( mPixelCoords, mapCoords ); - accept(); -} - -void MapCoordsDialog::on_buttonCancel_clicked() -{ - reject(); } void MapCoordsDialog::maybeSetXY( const QgsPoint & xy, Qt::MouseButton button ) diff --git a/src/plugins/georeferencer/mapcoordsdialog.h b/src/plugins/georeferencer/mapcoordsdialog.h index db9cd6467c24..c72092b9e38e 100644 --- a/src/plugins/georeferencer/mapcoordsdialog.h +++ b/src/plugins/georeferencer/mapcoordsdialog.h @@ -30,8 +30,7 @@ class MapCoordsDialog : public QDialog, private Ui::MapCoordsDialogBase public slots: - void on_buttonOk_clicked(); - void on_buttonCancel_clicked(); + void accept(); void on_btnPointFromCanvas_clicked(); diff --git a/src/plugins/georeferencer/mapcoordsdialogbase.ui b/src/plugins/georeferencer/mapcoordsdialogbase.ui index 54e5b1ef38e2..8c2cb68109ec 100644 --- a/src/plugins/georeferencer/mapcoordsdialogbase.ui +++ b/src/plugins/georeferencer/mapcoordsdialogbase.ui @@ -1,213 +1,100 @@ - + + MapCoordsDialogBase - - + + 0 0 389 - 203 + 156 - + Enter map coordinates - + true - - - 9 - - - 6 - + - - + + 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. - + true - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 10 - - - - - - - - 0 - - - 6 - - - - - X: + + + + + X - - - - - - Y: + + leXCoord - - - - - + + - - - - Qt::Horizontal - - - QSizePolicy::Minimum - - - - 40 - 20 - - - - - - - - Qt::Horizontal - - - QSizePolicy::Minimum - - - - 40 - 20 - - - - - - - - - - Qt::Vertical - - - - 20 - 21 - - - - - - - - 0 - - - 6 - - - - + + + from map canvas - - :/pencil.png + + + :/pencil.png:/pencil.png - + 18 18 - + true - - - - Qt::Horizontal - - - QSizePolicy::Expanding - - - - 21 - 27 - - - + + - - - - &Cancel - - - + + + + Y - - true - - - - - - - &OK - - - - - - true - - - true + + leYCoord + + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + - + leXCoord leYCoord - buttonCancel - buttonOk + btnPointFromCanvas + buttonBox - + diff --git a/src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui b/src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui index dddc53176333..4b278abb2f3e 100644 --- a/src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui +++ b/src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui @@ -1,86 +1,84 @@ - + + QgsGeorefWarpOptionsDialogBase - - + + 0 0 366 - 130 + 119 - + Warp options - - - 9 - - - 6 - - - - - - - - Compression: + + + + + Resampling method - - - - - - Resampling method: + + cmbResampling - - - + + + 0 - + Nearest neighbour - + Linear - + Cubic - - - + + + + Compression + + + mCompressionComboBox + + + + + + + + + Use 0 for transparency when needed - + false - - - - OK - - - true + + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok - + diff --git a/src/plugins/georeferencer/qgspointdialogbase.ui b/src/plugins/georeferencer/qgspointdialogbase.ui index b5222d051ebb..378beac4c97e 100644 --- a/src/plugins/georeferencer/qgspointdialogbase.ui +++ b/src/plugins/georeferencer/qgspointdialogbase.ui @@ -1,7 +1,8 @@ - + + QgsPointDialogBase - - + + 0 0 @@ -9,128 +10,128 @@ 564 - + Reference points - + true - + - + - - - + + + 0 0 - + QFrame::NoFrame - + QFrame::Raised - - + + 0 - - 11 + + 0 - - + + Zoom in - + - + - + 22 22 - + true - - + + Zoom out - + - + - + 22 22 - + true - - + + Zoom to the raster extents - + - + - + 22 22 - + false - - + + Pan - + - + - + 22 22 - + true @@ -139,73 +140,73 @@ - - - + + + 0 0 - + QFrame::NoFrame - + QFrame::Raised - - + + 0 - - 11 + + 0 - - + + Add points - + - + - + 22 22 - + true - - + + true - + Delete points - + - + - + 22 22 - + true @@ -214,14 +215,14 @@ - - + + Qt::Horizontal - + QSizePolicy::Expanding - + 13 13 @@ -232,168 +233,184 @@ - - - + + + 0 0 - + false - + QFrame::StyledPanel - + QFrame::Raised - + - - - - - Raster file: + + + + + Raster file + + + leSelectRaster - - - - + + + + 0 0 - - - - + + + + 0 0 - + ... - - - - Transform type: + + + + Transform type + + + cmbTransformType - - + + - - - - Modified raster: + + + + Modified raster + + + leSelectModifiedRaster - - + + - - - + + + ... - - - - World file: + + + + World file + + + leSelectWorldFile - - + + - - - + + + ... - - - + + + Create - - - + + + Create and load layer - - - - - 0 - 0 - - - - Close + + + + Save GCPs - - - - Save GCPs + + + + Load GCPs - - - - Load GCPs + + + + + 0 + 0 + + + + Close - - - - Qt::Horizontal - - - QSizePolicy::Expanding - - - - 18 - 17 - - - - - + + + tbnZoomIn + tbnZoomOut + tbnZoomToLayer + tbnPan + tbnAddPoint + tbnDeletePoint + leSelectRaster + pbnSelectRaster + cmbTransformType + leSelectModifiedRaster + pbnSelectModifiedRaster + leSelectWorldFile + pbnSelectWorldFile + pbnGenerateWorldFile + pbnGenerateAndLoad + pbnLoadGCPs + pbnSaveGCPs + pbnClose + - + diff --git a/src/plugins/gps_importer/qgsgpsdevicedialog.cpp b/src/plugins/gps_importer/qgsgpsdevicedialog.cpp index ac3c5747c00b..42f27e1c506d 100644 --- a/src/plugins/gps_importer/qgsgpsdevicedialog.cpp +++ b/src/plugins/gps_importer/qgsgpsdevicedialog.cpp @@ -28,10 +28,6 @@ QgsGPSDeviceDialog::QgsGPSDeviceDialog( std::map& setAttribute( Qt::WA_DeleteOnClose ); // Manually set the relative size of the two main parts of the // device dialog box. - QList split; - split.append( 120 ); - split.append( 340 ); - splitter->setSizes( split ); QObject::connect( lbDeviceList, SIGNAL( currentItemChanged( QListWidgetItem*, QListWidgetItem* ) ), this, SLOT( slotSelectionChanged( QListWidgetItem* ) ) ); diff --git a/src/plugins/gps_importer/qgsgpsdevicedialogbase.ui b/src/plugins/gps_importer/qgsgpsdevicedialogbase.ui index 489533dd5e54..81f668c41496 100644 --- a/src/plugins/gps_importer/qgsgpsdevicedialogbase.ui +++ b/src/plugins/gps_importer/qgsgpsdevicedialogbase.ui @@ -1,306 +1,330 @@ - + + QgsGPSDeviceDialogBase - - + + 0 0 - 504 - 436 + 542 + 461 - - + + 0 0 - + GPS Device Editor - + true - - - - - Qt::Horizontal - - - - - 6 - - - 0 - - - 0 - - - 0 + + + + 9 + 426 + 521 + 25 + + + + QDialogButtonBox::Close + + + + + + 9 + 9 + 171 + 411 + + + + + 0 + 0 + + + + Devices + + + + + + + 0 + 0 + + + + Delete + + + + + + + + 0 + 0 + + + + New + + + + + + + + 0 + 0 + + + + Update + + + + + + + + 0 + 0 + + + + + 150 + 0 + + + + + + + + + + 190 + 10 + 341 + 412 + + + + + + + 6 + + + 0 + + + + + + 0 + 0 + + + + Device name + + + leDeviceName + + + + + + + + 2 + 0 + + + + This is the name of the device as it will appear in the lists + + + + + + + + + Commands + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + 9 - - 0 + + 6 - - - - - 0 - 0 - + + + + Track download + + + leTrkDown - - - - - 0 - 0 - + + + + Route upload - - New device + + leRteUp - - - - - 0 - 0 - + + + + Waypoint download + + + leWptDown - - Delete device + + + + + + The command that is used to download routes from the device - - - - - 0 - 0 - + + + + Route download - - Update device + + leRteDown - - - - - - 6 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - 6 + + + + The command that is used to upload waypoints to the device - - 0 + + + + + + Track upload - - 0 + + leTrkUp - - 0 + + + + + + The command that is used to download tracks from the device - - 0 + + + + + + The command that is used to upload routes to the device - - - - - 0 - 0 - - - - Device name - - - - - - - - 2 - 0 - - - - This is the name of the device as it will appear in the lists - - - - + - - - - Commands + + + + The command that is used to download waypoints from the device - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + The command that is used to upload tracks to the device - - - 9 - - - 9 - - - 9 - - - 9 - - - 6 - - - 6 - - - - - Track download: - - - - - - - Route upload: - - - - - - - Waypoint download: - - - - - - - The command that is used to download routes from the device - - - - - - - Route download: - - - - - - - The command that is used to upload waypoints to the device - - - - - - - Track upload: - - - - - - - The command that is used to download tracks from the device - - - - - - - The command that is used to upload routes to the device - - - - - - - The command that is used to download waypoints from the device - - - - - - - The command that is used to upload tracks to the device - - - - - - - Waypoint upload: - - - - - - - - - 0 - 0 - + + + + Waypoint upload - - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Verdana'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style=" 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;">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:<span style=" font-style:italic;">%babel</span> - the path to GPSBabel<br /><span style=" font-style:italic;">%in</span> - the GPX filename when uploading or the port when downloading<br /><span style=" font-style:italic;">%out</span> - the port when uploading or the GPX filename when downloading</p></body></html> + + leWptUp - - - - - - QDialogButtonBox::Close - - - - + + + + + + 0 + 0 + + + + false + + + true + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans Serif'; font-size:9pt;">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:</span><span style=" font-family:'Sans Serif'; font-size:9pt; font-style:italic;">%babel</span><span style=" font-family:'Sans Serif'; font-size:9pt;"> - the path to GPSBabel<br /></span><span style=" font-family:'Sans Serif'; font-size:9pt; font-style:italic;">%in</span><span style=" font-family:'Sans Serif'; font-size:9pt;"> - the GPX filename when uploading or the port when downloading<br /></span><span style=" font-family:'Sans Serif'; font-size:9pt; font-style:italic;">%out</span><span style=" font-family:'Sans Serif'; font-size:9pt;"> - the port when uploading or the GPX filename when downloading</span></p></body></html> + + + Qt::NoTextInteraction + + + + + - + + + lbDeviceList + pbnNewDevice + pbnDeleteDevice + pbnUpdateDevice + leDeviceName + leWptDown + leWptUp + leRteDown + leRteUp + leTrkDown + leTrkUp + textEdit + buttonBox + @@ -309,11 +333,11 @@ p, li { white-space: pre-wrap; } QgsGPSDeviceDialogBase accept() - - 453 - 418 + + 462 + 451 - + 498 403 diff --git a/src/plugins/gps_importer/qgsgpsplugingui.cpp b/src/plugins/gps_importer/qgsgpsplugingui.cpp index b30222d8cfbd..c70edd379cae 100644 --- a/src/plugins/gps_importer/qgsgpsplugingui.cpp +++ b/src/plugins/gps_importer/qgsgpsplugingui.cpp @@ -459,95 +459,6 @@ void QgsGPSPluginGui::populateIMPBabelFormats() cmbDLDevice->setCurrentIndex( d ); } -void QgsGPSPluginGui::populateLoadDialog() -{ - - QString format = QString( "

%1

%2

" ); - - QString sentence1 = tr( "GPX is the %1, which is used to store information about waypoints, routes, and tracks." ) - .arg( QString( "%1" ).arg( tr( "GPS eXchange file format" ) ) ); - QString sentence2 = tr( "Select a GPX file and then select the feature types that you want to load." ); - - QString text = format.arg( sentence1 ).arg( sentence2 ); - - teLoadDescription->setHtml( text ); - QgsDebugMsg( text ); -} - -void QgsGPSPluginGui::populateDLDialog() -{ - - QString format = QString( "

%1 %2 %3

%4 %5

" ); - - QString sentence1 = tr( "This tool will help you download data from a GPS device." ); - QString sentence2 = tr( "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." ); - QString sentence3 = tr( "If your device isn't listed, or if you want to change some settings, you can also edit the devices." ); - QString sentence4 = tr( "This tool uses the program GPSBabel (%1) to transfer the data." ) - .arg( "http://www.gpsbabel.org" ); - - QString sentence5 = tr( "This requires that you have GPSBabel installed where QGIS can find it." ); - - QString text = format.arg( sentence1 ).arg( sentence2 ).arg( sentence3 ).arg( sentence4 ).arg( sentence5 ); - - teDLDescription->setHtml( text ); - QgsDebugMsg( text ); -} - -void QgsGPSPluginGui::populateULDialog() -{ - - QString format = QString( "

%1 %2 %3

%4 %5

" ); - - QString sentence1 = tr( "This tool will help you upload data from a GPX layer to a GPS device." ); - QString sentence2 = tr( "Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to." ); - QString sentence3 = tr( "If your device isn't listed, or if you want to change some settings, you can also edit the devices." ); - QString sentence4 = tr( "This tool uses the program GPSBabel (%1) to transfer the data." ) - .arg( "http://www.gpsbabel.org" ); - - QString sentence5 = tr( "This requires that you have GPSBabel installed where QGIS can find it." ); - - QString text = format.arg( sentence1 ).arg( sentence2 ).arg( sentence3 ).arg( sentence4 ).arg( sentence5 ); - - teULDescription->setHtml( text ); - QgsDebugMsg( text ); -} - -void QgsGPSPluginGui::populateIMPDialog() -{ - - QString format = QString( "

%1 %2

%3 %4

" ); - - QString sentence1 = tr( "QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (%1)." ) - .arg( "http://www.gpsbabel.org" ); - QString sentence2 = tr( "This requires that you have GPSBabel installed where QGIS can find it." ); - QString sentence3 = tr( "Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX file name that you want to save the converted file as, and a name for the new layer." ); - QString sentence4 = tr( "All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats." ); - - QString text = format.arg( sentence1 ).arg( sentence2 ).arg( sentence3 ).arg( sentence4 ); - - teIMPDescription->setHtml( text ); - QgsDebugMsg( text ); -} - - -void QgsGPSPluginGui::populateCONVDialog() -{ - cmbCONVType->addItem( tr( "Routes" ) + " -> " + tr( "Waypoints" ) ); - cmbCONVType->addItem( tr( "Waypoints" ) + " -> " + tr( "Routes" ) ); - - QString format = QString( "

%1 %2

%3" ); - - QString sentence1 = tr( "QGIS can perform conversions of GPX files, by using GPSBabel (%1) to perform the conversions." ) - .arg( "http://www.gpsbabel.org" ); - QString sentence2 = tr( "This requires that you have GPSBabel installed where QGIS can find it." ); - QString sentence3 = tr( "Select a GPX input file name, the type of conversion you want to perform, a GPX file name that you want to save the converted file as, and a name for the new layer created from the result." ); - - QString text = format.arg( sentence1 ).arg( sentence2 ).arg( sentence3 ); - - teCONVDescription->setHtml( text ); - QgsDebugMsg( text ); -} - void QgsGPSPluginGui::on_pbnCONVInput_clicked() { QString myFileTypeQString; diff --git a/src/plugins/gps_importer/qgsgpspluginguibase.ui b/src/plugins/gps_importer/qgsgpspluginguibase.ui index 3e209c7a5511..7d0af39d845f 100644 --- a/src/plugins/gps_importer/qgsgpspluginguibase.ui +++ b/src/plugins/gps_importer/qgsgpspluginguibase.ui @@ -1,336 +1,261 @@ - + + QgsGPSPluginGuiBase - - + + 0 0 - 987 - 428 + 563 + 241 - + GPS Tools - + - - - 9 - - - 9 - - - 9 - - - 9 - - - 6 - - - 6 - - - - - + + + + + 4 - - :/gps.xpm - - - true - - - - - - - QFrame::VLine - - - QFrame::Sunken - - - Qt::Vertical - - - - - - - 2 - - - + + Load GPX file - - - 9 - - - 9 - - - 9 - - - 9 - - - 6 - - - 6 - - - - - - 0 - 0 - + + + + + + + File + + + pbnGPXSelectFile + + + + + + + + + + Browse... + + + + + + + + + + + Feature types + + + cbGPXWaypoints + + + + + + + false + + + Waypoints + + + false + + + + + + + false + + + Routes + + + false + + + + + + + false + + + Tracks + + + false + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + Qt::Vertical - - 0 + + + 20 + 40 + - - true + + + + + + + Import other file + + + + + + File to import - - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Verdana'; font-size:10pt; font-weight:400; font-style:normal;"> -<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-size:9pt;"></p></body></html> + + pbnIMPInput - - - - File: + + + + false - - - + + + Browse... - - - - - - - Feature types: - - - - - - - false - - - Waypoints + + + + Feature type - - false + + cmbIMPFeature - - - - false - - - Routes - - - false + + + + + 130 + 0 + - - - - false - - - Tracks + + + + Layer name - - false + + leIMPLayer - - - - - Import other file - - - - 9 - - - 9 - - - 9 - - - 9 - - - 6 - - - 6 - - - - - true - - - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Verdana'; font-size:10pt; font-weight:400; font-style:normal;"> -<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-size:9pt;"></p></body></html> - - - - - - - - - - Layer name: - - - - - - - Save As... - - + + - - - - Browse... + + + + GPX output file + + + leIMPOutput - - + + - - - - GPX output file: + + + + Save As... - - - - Qt::Horizontal + + + + Qt::Vertical - - QSizePolicy::Expanding - - + - 40 - 20 + 20 + 40 - - - - - 130 - 0 - - - - - - - - Feature type: - - - - - - + + + (Note: Selecting correct file type in browser dialog important!) - - - - false - - - - - - - File to import: - - - - - + + Download from GPS - - - - - true + + + + + GPS device - - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Verdana'; font-size:10pt; font-weight:400; font-style:normal;"> -<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-size:9pt;"></p></body></html> + + cmbDLDevice - - - - GPS device: - - - - - - + + + 120 0 @@ -338,39 +263,32 @@ p, li { white-space: pre-wrap; } - - - + + + + + 0 + 0 + + + Edit devices... - - - - Qt::Horizontal - - - QSizePolicy::Expanding - - - - 121 - 24 - + + + + Port - - - - - - Port: + + cmbDLPort - - - + + + 90 0 @@ -378,162 +296,164 @@ p, li { white-space: pre-wrap; } - - - + + + + + 0 + 0 + + + Refresh - - - - Qt::Horizontal + + + + Feature type - - QSizePolicy::Expanding - - - - 80 - 20 - - - - - - - - Feature type: + + cmbDLFeatureType - - - + + + 100 0 - + Waypoints - + Routes - + Tracks - - - - Output file: + + + + Layer name + + + leDLBasename - - + + - - - - Save As... + + + + Output file + + + leDLOutput - - - - Layer name: + + + + + + + Save As... - - - - - - - - Upload to GPS - - - - 9 - - - 9 - - - 9 - - - 9 - - - 6 - - - 6 - - - - + + + Qt::Horizontal - - QSizePolicy::Expanding - - + 40 - 20 + 1 - - - - true + + + + + Upload to GPS + + + + + + + 0 + 0 + - - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Verdana'; font-size:10pt; font-weight:400; font-style:normal;"> -<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-size:9pt;"></p></body></html> + + Data layer + + + cmbULLayer - - - + + + + + 0 + 0 + + + - 100 + 90 0 - - - - Port: + + + + + 0 + 0 + + + + GPS device + + + cmbULDevice - - - + + + + + 0 + 0 + + + 120 0 @@ -541,128 +461,115 @@ p, li { white-space: pre-wrap; } - - - - - 90 - 0 - + + + + Edit devices - - - - Edit devices + + + + + 0 + 0 + + + + Port + + + cmbULPort - - - - GPS device: + + + + + 0 + 0 + + + + + 100 + 0 + - - - - Data layer: + + + + Qt::Vertical - + + + 20 + 40 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + - - + + GPX Conversions - - - 9 - - - 9 - - - 9 - - - 9 - - - 6 - - - 6 - - - - - true - - - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Verdana'; font-size:10pt; font-weight:400; font-style:normal;"> -<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-size:9pt;"></p></body></html> - - - - - - - - - - Layer name: - - - - - - - Save As... + + + + + GPX input file + + + pbnCONVInput - - - - Browse... + + + + false - - - - - - - GPX output file: + + + + Browse... - - - - Qt::Horizontal + + + + Conversion - - QSizePolicy::Expanding + + cmbCONVType - - - 40 - 20 - - - + - - - + + + 10 0 @@ -670,24 +577,62 @@ p, li { white-space: pre-wrap; } - - - - Conversion: + + + + GPX output file + + + leCONVOutput - - - - false + + + + + + + Layer name + + + leCONVLayer - - - - GPX input file: + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + Save As... @@ -695,19 +640,19 @@ p, li { white-space: pre-wrap; } - - - + + + Qt::Horizontal - - QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::NoButton|QDialogButtonBox::Ok + + QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::Ok - + QgsFileDropEdit @@ -716,44 +661,40 @@ p, li { white-space: pre-wrap; } + tabWidget leGPXFile pbnGPXSelectFile cbGPXWaypoints cbGPXRoutes cbGPXTracks - buttonBox leIMPInput pbnIMPInput cmbIMPFeature + leIMPLayer leIMPOutput pbnIMPOutput - leIMPLayer cmbDLDevice - cmbDLPort pbDLEditDevices + cmbDLPort + pbnRefresh cmbDLFeatureType + leDLBasename leDLOutput pbnDLOutput - leDLBasename cmbULLayer cmbULDevice - cmbULPort pbULEditDevices + cmbULPort leCONVInput pbnCONVInput cmbCONVType leCONVOutput pbnCONVOutput leCONVLayer - teCONVDescription - teDLDescription - teULDescription - teLoadDescription - tabWidget - teIMPDescription + buttonBox - + diff --git a/src/plugins/interpolation/qgsidwinterpolatordialogbase.ui b/src/plugins/interpolation/qgsidwinterpolatordialogbase.ui index 0128c30a6afd..8e5519734e2a 100644 --- a/src/plugins/interpolation/qgsidwinterpolatordialogbase.ui +++ b/src/plugins/interpolation/qgsidwinterpolatordialogbase.ui @@ -1,92 +1,94 @@ - - QgsIDWInterpolatorDialogBase - - - - 0 - 0 - 362 - 267 - - - - Dialog - - - - - - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans Serif'; font-size:12pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Inverse Distance Weighting</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">The only parameter for the IDW interpolation method is the coefficient that describes the decrease of weights with distance.</span></p></body></html> - - - - - - - - - Distance coefficient P: - - - - - - - 2.000000000000000 - - - - - - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::NoButton|QDialogButtonBox::Ok - - - - - - - - - buttonBox - accepted() - QgsIDWInterpolatorDialogBase - accept() - - - 248 - 254 - - - 157 - 274 - - - - - buttonBox - rejected() - QgsIDWInterpolatorDialogBase - reject() - - - 316 - 260 - - - 286 - 274 - - - - - + + + QgsIDWInterpolatorDialogBase + + + + 0 + 0 + 365 + 80 + + + + Dialog + + + + + + + + + 0 + 0 + + + + Distance coefficient P + + + + + + + + 0 + 0 + + + + 2.000000000000000 + + + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::Ok + + + + + + + + + buttonBox + accepted() + QgsIDWInterpolatorDialogBase + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + QgsIDWInterpolatorDialogBase + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/src/plugins/interpolation/qgsinterpolationdialogbase.ui b/src/plugins/interpolation/qgsinterpolationdialogbase.ui index 27b8dd6e346e..dc7768b7058e 100644 --- a/src/plugins/interpolation/qgsinterpolationdialogbase.ui +++ b/src/plugins/interpolation/qgsinterpolationdialogbase.ui @@ -1,410 +1,398 @@ - - - QgsInterpolationDialogBase - - - - 0 - 0 - 748 - 409 - - - - - 0 - 0 - - - - Interpolation plugin - - - - - - - 0 - 0 - - - - Input - - - - - - Vector layers: - - - mInputLayerComboBox - - - - - - - - 0 - 0 - - - - - - - - Interpolation attribute: - - - mInterpolationAttributeComboBox - - - - - - - - 0 - 0 - - - - - - - - Use z-Coordinate for interpolation - - - - - - - Add - - - - - - - Remove - - - - - - - - Vector layer - - - - - Attribute - - - - - Type - - - - - - - - - - - - 0 - 0 - - - - Output - - - - - - Interpolation method - - - mInterpolationMethodComboBox - - - - - - - - - - ... - - - - :/options.png:/options.png - - - - - - - Number of columns - - - mNumberOfColumnsSpinBox - - - - - - - 10000000 - - - - - - - Number of rows - - - mNumberOfRowsSpinBox - - - - - - - 10000000 - - - - - - - - - Cellsize X: - - - mCellsizeXSpinBox - - - - - - - 5 - - - 999999.000000000000000 - - - - - - - Cellsize Y: - - - mCellSizeYSpinBox - - - - - - - 5 - - - 999999.000000000000000 - - - - - - - - - - - X Min: - - - mXMinLineEdit - - - - - - - - - - X Max: - - - mXMaxLineEdit - - - - - - - - - - - - - - Y Min: - - - mYMinLineEdit - - - - - - - - - - Y Max: - - - mYMaxLineEdit - - - - - - - - - - - - - - Qt::Horizontal - - - - 298 - 20 - - - - - - - - Set to current extent - - - - - - - - - Output file - - - mOutputFileLineEdit - - - - - - - - - - ... - - - - - - - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - - - - - - mInputLayerComboBox - mInterpolationAttributeComboBox - mUseZCoordCheckBox - mAddPushButton - mRemovePushButton - mLayersTreeWidget - mInterpolationMethodComboBox - mConfigureInterpolationButton - mNumberOfColumnsSpinBox - mNumberOfRowsSpinBox - mCellsizeXSpinBox - mCellSizeYSpinBox - mXMinLineEdit - mXMaxLineEdit - mYMinLineEdit - mYMaxLineEdit - mBBoxToCurrentExtent - mOutputFileLineEdit - mOutputFileButton - buttonBox - - - - - - - buttonBox - accepted() - QgsInterpolationDialogBase - accept() - - - 266 - 723 - - - 157 - 274 - - - - - buttonBox - rejected() - QgsInterpolationDialogBase - reject() - - - 334 - 723 - - - 286 - 274 - - - - - + + + QgsInterpolationDialogBase + + + + 0 + 0 + 748 + 382 + + + + + 0 + 0 + + + + Interpolation plugin + + + + + + + 0 + 0 + + + + Input + + + + + + Vector layers + + + mInputLayerComboBox + + + + + + + + 0 + 0 + + + + + + + + Interpolation attribute + + + mInterpolationAttributeComboBox + + + + + + + + 0 + 0 + + + + + + + + Use z-Coordinate for interpolation + + + + + + + Add + + + + + + + Remove + + + + + + + + Vector layer + + + + + Attribute + + + + + Type + + + + + + + + + + + + 0 + 0 + + + + Output + + + + + + Interpolation method + + + mInterpolationMethodComboBox + + + + + + + + + + ... + + + + :/options.png:/options.png + + + + + + + Number of columns + + + mNumberOfColumnsSpinBox + + + + + + + 10000000 + + + + + + + Number of rows + + + mNumberOfRowsSpinBox + + + + + + + 10000000 + + + + + + + Cellsize X + + + mCellsizeXSpinBox + + + + + + + 5 + + + 999999.000000000000000 + + + + + + + Cellsize Y + + + mCellSizeYSpinBox + + + + + + + 5 + + + 999999.000000000000000 + + + + + + + + + X min + + + mXMinLineEdit + + + + + + + + + + X max + + + mXMaxLineEdit + + + + + + + + + + Y min + + + mYMinLineEdit + + + + + + + + + + Y max + + + mYMaxLineEdit + + + + + + + + + + Set to current extent + + + + + + + + + Output file + + + mOutputFileLineEdit + + + + + + + + + + ... + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + mInputLayerComboBox + mInterpolationAttributeComboBox + mUseZCoordCheckBox + mAddPushButton + mRemovePushButton + mLayersTreeWidget + mInterpolationMethodComboBox + mConfigureInterpolationButton + mNumberOfColumnsSpinBox + mNumberOfRowsSpinBox + mCellsizeXSpinBox + mCellSizeYSpinBox + mXMinLineEdit + mXMaxLineEdit + mYMinLineEdit + mYMaxLineEdit + mBBoxToCurrentExtent + mOutputFileLineEdit + mOutputFileButton + buttonBox + + + + + + + buttonBox + accepted() + QgsInterpolationDialogBase + accept() + + + 266 + 723 + + + 157 + 274 + + + + + buttonBox + rejected() + QgsInterpolationDialogBase + reject() + + + 334 + 723 + + + 286 + 274 + + + + + diff --git a/src/plugins/interpolation/qgstininterpolatordialogbase.ui b/src/plugins/interpolation/qgstininterpolatordialogbase.ui index 243f82e48fa1..8ebd9a7ba7c6 100644 --- a/src/plugins/interpolation/qgstininterpolatordialogbase.ui +++ b/src/plugins/interpolation/qgstininterpolatordialogbase.ui @@ -1,105 +1,136 @@ - - QgsTINInterpolatorDialogBase - - - - 0 - 0 - 394 - 240 - - - - Triangle based interpolation - - - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<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-size:12pt;">This interpolator provides different methods for interpolation in a triangular irregular network (TIN).</p></body></html> - - - - - - - - - Interpolation method: - - - - - - - - - - - - Export triangulation to shapefile after interpolation - - - - - - - - - - ... - - - - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - - - - - - - - buttonBox - accepted() - QgsTINInterpolatorDialogBase - accept() - - - 248 - 254 - - - 157 - 274 - - - - - buttonBox - rejected() - QgsTINInterpolatorDialogBase - reject() - - - 316 - 260 - - - 286 - 274 - - - - - + + + QgsTINInterpolatorDialogBase + + + + 0 + 0 + 394 + 124 + + + + Triangle based interpolation + + + + + + + 0 + 0 + + + + Interpolation method + + + mInterpolationComboBox + + + + + + + + 0 + 0 + + + + + + + + Export triangulation to shapefile after interpolation + + + + + + + + 0 + 0 + + + + Output file + + + mTriangulationFileEdit + + + + + + + + + + + 0 + 0 + + + + ... + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::Ok + + + + + + + mInterpolationComboBox + mExportTriangulationCheckBox + mTriangulationFileEdit + mTriangulationFileButton + buttonBox + + + + + buttonBox + accepted() + QgsTINInterpolatorDialogBase + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + QgsTINInterpolatorDialogBase + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/src/plugins/north_arrow/pluginguibase.ui b/src/plugins/north_arrow/pluginguibase.ui index 4c47b139d755..4841c2e9f6c0 100644 --- a/src/plugins/north_arrow/pluginguibase.ui +++ b/src/plugins/north_arrow/pluginguibase.ui @@ -1,190 +1,186 @@ - + + QgsNorthArrowPluginGuiBase - - + + 0 0 - 433 - 387 + 382 + 193 - + North Arrow Plugin - + - - - - - - 0 - 0 - - - - - Sans Serif - 24 - 50 - false - false - false - false - - - - North Arrow Plugin - - - Qt::AlignCenter - - - - - - - - 0 - 0 - - - - Preview of north arrow - - - QFrame::Box - - - false - - - Qt::AlignCenter - - - - - - - Angle - - - sliderRotation - - - - - - - - - - 360 - - - 1 - - - 10 - - + + + + Qt::Horizontal - - - - - - 360 - - - 1 - - - 0 - - - - - - - Placement - - - cboPlacement - - - - - - - Placement on screen - - - - Top Left + + + + 0 + 0 + - - - - Top Right + + Preview of north arrow - - - - Bottom Left + + QFrame::Box - - - - Bottom Right + + false - - - - - - - Enable North Arrow - - - true - - - - - - - - - - - - - Set direction automatically - - - true - + + Qt::AlignCenter + + + + + + + + Angle + + + sliderRotation + + + + + + + + + + 360 + + + 1 + + + 10 + + + Qt::Horizontal + + + + + + + 360 + + + 1 + + + 0 + + + + + + + Placement + + + cboPlacement + + + + + + + Placement on screen + + + + Top Left + + + + + Top Right + + + + + Bottom Left + + + + + Bottom Right + + + + + + + + Enable North Arrow + + + true + + + + + + + + + + + + + Set direction automatically + + + true + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + - - - + + + Qt::Horizontal - - QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::NoButton|QDialogButtonBox::Ok + + QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::Ok - + sliderRotation spinAngle @@ -194,7 +190,7 @@ buttonBox - + @@ -203,11 +199,11 @@ spinAngle setValue(int) - + 374 257 - + 527 259 @@ -219,11 +215,11 @@ sliderRotation setValue(int) - + 524 244 - + 351 263 diff --git a/src/plugins/ogr_converter/ogrconverterguibase.ui b/src/plugins/ogr_converter/ogrconverterguibase.ui index f9501efc0e74..eb520aff4d8a 100644 --- a/src/plugins/ogr_converter/ogrconverterguibase.ui +++ b/src/plugins/ogr_converter/ogrconverterguibase.ui @@ -1,320 +1,340 @@ - - OgrConverterGuiBase - - - - 0 - 0 - 491 - 400 - - - - - 0 - 0 - - - - - 400 - 400 - - - - OGR Layer Converter - - - - - - - - - - - - 0 - 0 - - - - Source - - - - - - - 52 - 22 - - - - Format - - - comboSrcFormats - - - - - - - - 200 - 25 - - - - 200 - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - File - - - - - - - Directory - - - - - - - Remote source - - - - - - - Dataset - - - inputSrcDataset - - - - - - - - 200 - 25 - - - - - - - - Browse - - - - - - - - 52 - 22 - - - - Layer - - - comboSrcLayer - - - - - - - - 300 - 25 - - - - - - - - - - - - 0 - 0 - - - - Target - - - - - - - 52 - 22 - - - - Format - - - comboDstFormats - - - - - - - - 300 - 25 - - - - 200 - - - - - - - Dataset - - - inputDstDataset - - - - - - - - 200 - 25 - - - - - - - - Browse - - - - - - - - 52 - 0 - - - - Layer - - - inputDstLayer - - - - - - - - 300 - 25 - - - - - - - - - - - QDialogButtonBox::Cancel|QDialogButtonBox::NoButton|QDialogButtonBox::Ok - - - - - - - - comboSrcFormats - radioSrcFile - radioSrcDirectory - radioSrcProtocol - inputSrcDataset - buttonSelectSrc - comboSrcLayer - comboDstFormats - inputDstDataset - buttonSelectDst - inputDstLayer - buttonBox - - - - - buttonBox - accepted() - OgrConverterGuiBase - accept() - - - 424 - 322 - - - 481 - 297 - - - - - buttonBox - rejected() - OgrConverterGuiBase - reject() - - - 365 - 323 - - - 281 - 339 - - - - - + + + OgrConverterGuiBase + + + + 0 + 0 + 491 + 323 + + + + + 0 + 0 + + + + + 0 + 0 + + + + OGR Layer Converter + + + + + + + + + + + + 0 + 0 + + + + Source + + + + + + + 52 + 22 + + + + Layer + + + comboSrcLayer + + + + + + + Dataset + + + inputSrcDataset + + + + + + + + 200 + 25 + + + + + + + + + 300 + 25 + + + + + + + + Browse + + + + + + + + 200 + 25 + + + + 200 + + + + + + + + 52 + 22 + + + + Format + + + comboSrcFormats + + + + + + + 0 + + + + + File + + + + + + + Remote source + + + + + + + Directory + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + radioSrcFile + radioSrcDirectory + radioSrcProtocol + radioSrcDirectory + labelSrcLayer + labelSrcDataset + inputSrcDataset + comboSrcLayer + buttonSelectSrc + + comboSrcFormats + labelSrcFormat + + + + + + + 0 + 0 + + + + Target + + + + + + + 52 + 22 + + + + Format + + + comboDstFormats + + + + + + + + 300 + 25 + + + + 200 + + + + + + + Dataset + + + inputDstDataset + + + + + + + + 200 + 25 + + + + + + + + Browse + + + + + + + + 52 + 0 + + + + Layer + + + inputDstLayer + + + + + + + + 300 + 25 + + + + + + + + + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + comboSrcFormats + radioSrcFile + radioSrcDirectory + radioSrcProtocol + inputSrcDataset + buttonSelectSrc + comboSrcLayer + comboDstFormats + inputDstDataset + buttonSelectDst + inputDstLayer + buttonBox + + + + + buttonBox + accepted() + OgrConverterGuiBase + accept() + + + 424 + 322 + + + 481 + 297 + + + + + buttonBox + rejected() + OgrConverterGuiBase + reject() + + + 365 + 323 + + + 281 + 339 + + + + + diff --git a/src/plugins/oracle_raster/qgsoracleconnectbase.ui b/src/plugins/oracle_raster/qgsoracleconnectbase.ui index ba73dc5ab084..46f21dcbdea7 100644 --- a/src/plugins/oracle_raster/qgsoracleconnectbase.ui +++ b/src/plugins/oracle_raster/qgsoracleconnectbase.ui @@ -1,248 +1,109 @@ - - OracleConnectGuiBase - - - - 0 - 0 - 436 - 207 - - - - Create Oracle Connection - - - - - - - - - - 339 - 11 - 89 - 189 - - - - - 6 - - - 0 - - - - - OK - - - - - - true - - - true - - - - - - - Cancel - - - - - - true - - - - - - - Qt::Vertical - - - QSizePolicy::Expanding - - - - 87 - 121 - - - - - - - - - - 10 - 10 - 322 - 191 - - - - Connection Information - - - - 0 - - - 0 - - - - - 6 - - - 0 - - - - - 6 - - - 0 - - - - - Name - - - txtName - - - - - - - Database instance - - - txtDatabase - - - - - - - Username - - - txtUsername - - - - - - - Password - - - txtPassword - - - - - - - - - 6 - - - 0 - - - - - Name of the new connection - - - - - - - - - - - - - QLineEdit::Password - - - - - - - - - - - 6 - - - 0 - - - - - Save Password - - - - - - - - - - - - - btnOk - clicked() - OracleConnectGuiBase - accept() - - - 383 - 24 - - - 217 - 103 - - - - - btnCancel - clicked() - OracleConnectGuiBase - reject() - - - 383 - 56 - - - 217 - 103 - - - - - + + + OracleConnectGuiBase + + + + 0 + 0 + 318 + 177 + + + + Create Oracle Connection + + + + + + + + + + + Name + + + txtName + + + + + + + Name of the new connection + + + + + + + Database instance + + + txtDatabase + + + + + + + + + + Username + + + txtUsername + + + + + + + + + + Password + + + txtPassword + + + + + + + QLineEdit::Password + + + + + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + Save Password + + + + + + + + txtName + txtDatabase + txtUsername + txtPassword + chkStorePassword + buttonBox + + + + diff --git a/src/plugins/oracle_raster/qgsselectgeoraster_ui.cpp b/src/plugins/oracle_raster/qgsselectgeoraster_ui.cpp index 3a6b422f6b14..f3e3cd264384 100644 --- a/src/plugins/oracle_raster/qgsselectgeoraster_ui.cpp +++ b/src/plugins/oracle_raster/qgsselectgeoraster_ui.cpp @@ -186,7 +186,7 @@ void QgsOracleSelectGeoraster::showSelection( const QString & line ) hDS = GDALOpenShared( identification.toAscii(), eAccess ); - btnAdd->setEnabled( false ); + buttonBox->button(QDialogButtonBox::Ok)->setEnabled( false ); if ( hDS == NULL ) { QMessageBox::information( this, @@ -195,7 +195,7 @@ void QgsOracleSelectGeoraster::showSelection( const QString & line ) .arg( identification ) ); return; } - btnAdd->setEnabled( true ); + buttonBox->button(QDialogButtonBox::Ok)->setEnabled( true ); /* * Get subdataset list diff --git a/src/plugins/oracle_raster/qgsselectgeorasterbase.ui b/src/plugins/oracle_raster/qgsselectgeorasterbase.ui index bd2a0b073eee..0bbc24835473 100644 --- a/src/plugins/oracle_raster/qgsselectgeorasterbase.ui +++ b/src/plugins/oracle_raster/qgsselectgeorasterbase.ui @@ -1,284 +1,239 @@ - - SelectGeoRasterBase - - - - 0 - 0 - 461 - 454 - - - - Select Oracle Spatial GeoRaster - - - - ../../ui../../ui - - - true - - - true - - - - 9 - - - 6 - - - - - Server Connections - - - - 9 - - - 6 - - - - - Qt::Horizontal - - - QSizePolicy::Expanding - - - - 131 - 30 - - - - - - - - - - - false - - - C&onnect - - - - - - - false - - - Edit - - - - - - - false - - - Delete - - - - - - - &New - - - - - - - - - - Selection - - - - 6 - - - 9 - - - - - - - - - - - - - - - false - - - Update - - - - - - - - - - - 0 - 0 - - - - Ready - - - false - - - - - - - false - - - &Select - - - Alt+A - - - true - - - true - - - - - - - - 0 - 0 - - - - - 16 - 64 - - - - Subdatasets - - - - - - - 0 - 0 - - - - false - - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Expanding - - - - 284 - 31 - - - - - - - - true - - - Help - - - F1 - - - true - - - - - - - C&lose - - - Alt+L - - - true - - - - - - - - cmbConnections - btnConnect - btnNew - btnEdit - btnDelete - btnHelp - btnAdd - btnCancel - - - - - btnCancel - clicked() - SelectGeoRasterBase - reject() - - - 410 - 457 - - - 229 - 252 - - - - - + + + SelectGeoRasterBase + + + + 0 + 0 + 461 + 454 + + + + Select Oracle Spatial GeoRaster + + + + ../../ui../../ui + + + true + + + true + + + + 9 + + + 6 + + + + + Server Connections + + + + 9 + + + 6 + + + + + + + + false + + + Edit + + + + + + + false + + + Delete + + + + + + + &New + + + + + + + false + + + C&onnect + + + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 131 + 30 + + + + + + + + + + + + 0 + 0 + + + + + 16 + 64 + + + + Subdatasets + + + + + + + 0 + 0 + + + + false + + + + + + + + + + QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::Ok + + + + + + + Selection + + + + + + + + + false + + + Update + + + + + + + + + + + + + + + + + + 0 + 0 + + + + Ready + + + false + + + + + + + + cmbConnections + btnConnect + btnNew + btnEdit + btnDelete + listWidget + lineEdit + checkBox + buttonBox + + + + + buttonBox + accepted() + SelectGeoRasterBase + accept() + + + 378 + 406 + + + 460 + 372 + + + + + buttonBox + rejected() + SelectGeoRasterBase + reject() + + + 297 + 406 + + + 455 + 434 + + + + + diff --git a/src/plugins/quick_print/quickprintguibase.ui b/src/plugins/quick_print/quickprintguibase.ui index 8860396e5ecc..f3ce6a962fd2 100644 --- a/src/plugins/quick_print/quickprintguibase.ui +++ b/src/plugins/quick_print/quickprintguibase.ui @@ -1,180 +1,151 @@ - - QuickPrintGuiBase - - - - 0 - 0 - 427 - 522 - - - - QGIS Quick Print Plugin - - - :/quickprint/quickprint.png - - - - 9 - - - 6 - - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::NoButton|QDialogButtonBox::Ok - - - - - - - Note: If you want more control over the map layout please use the map composer function in QGIS. - - - true - - - - - - - Output - - - - 11 - - - 6 - - - - - Use last filename but incremented. - - - - - - - last used filename but incremented will be shown here - - - true - - - - - - - Prompt for file name - - - true - - - - - - - - - - - - - Page Size - - - - - - - - - - Copyright - - - teCopyright - - - - - - - - - - Map Name e.g. Water Features - - - leMapName - - - - - - - - - - Map Title e.g. ACME inc. - - - leMapTitle - - - - - - - - 0 - 0 - 0 - 0 - - - - - Sans Serif - 24 - 75 - false - true - false - false - - - - Quick Print - - - Qt::AlignCenter - - - - - - - - leMapTitle - leMapName - teCopyright - radUseIncrementedFileName - radPromptForFileName - buttonBox - - - - - - + + + QuickPrintGuiBase + + + + 0 + 0 + 427 + 338 + + + + QGIS Quick Print Plugin + + + + :/quickprint/quickprint.png:/quickprint/quickprint.png + + + + + + Map title + + + leMapTitle + + + + + + + + + + Map name + + + leMapName + + + + + + + + + + Copyright + + + teCopyright + + + + + + + Page size + + + cboPageSize + + + + + + + + + + Output + + + + 11 + + + 6 + + + + + Use last filename but incremented. + + + + + + + last used filename but incremented will be shown here + + + true + + + + + + + Prompt for file name + + + true + + + + + + + + + + Note: If you want more control over the map layout please use the map composer function in QGIS. + + + true + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::Ok + + + + + + + + + + + leMapName + leMapTitle + teCopyright + cboPageSize + radUseIncrementedFileName + radPromptForFileName + buttonBox + + + + + + diff --git a/src/plugins/raster_terrain_analysis/qgsrasterterrainanalysisdialogbase.ui b/src/plugins/raster_terrain_analysis/qgsrasterterrainanalysisdialogbase.ui index 7b7ca3505e74..a8a67537b299 100644 --- a/src/plugins/raster_terrain_analysis/qgsrasterterrainanalysisdialogbase.ui +++ b/src/plugins/raster_terrain_analysis/qgsrasterterrainanalysisdialogbase.ui @@ -1,144 +1,158 @@ - - QgsRasterTerrainAnalysisDialogBase - - - - 0 - 0 - 355 - 318 - - - - Raster based terrain analysis - - - - - - - - Analysis: - - - - - - - - 0 - 0 - - - - - - - - - - Input layer: - - - - - - - - - - Output layer: - - - - - - - - - - - - - 0 - 0 - - - - - 20 - 0 - - - - ... - - - - - - - - - Output format: - - - - - - - - - - Add result to project - - - - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - - - - - - - - mButtonBox - accepted() - QgsRasterTerrainAnalysisDialogBase - accept() - - - 248 - 254 - - - 157 - 274 - - - - - mButtonBox - rejected() - QgsRasterTerrainAnalysisDialogBase - reject() - - - 316 - 260 - - - 286 - 274 - - - - - + + + QgsRasterTerrainAnalysisDialogBase + + + + 0 + 0 + 355 + 176 + + + + Raster based terrain analysis + + + + + + Analysis + + + mAnalysisComboBox + + + + + + + + 0 + 0 + + + + + + + + Input layer + + + mInputLayerComboBox + + + + + + + + + + Output layer + + + mOutputLayerPushButton + + + + + + + + + + + 0 + 0 + + + + + 20 + 0 + + + + ... + + + + + + + Output format + + + mOutputFormatComboBox + + + + + + + + + + Add result to project + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + mAnalysisComboBox + mInputLayerComboBox + mOutputLayerLineEdit + mOutputLayerPushButton + mOutputFormatComboBox + mAddResultToProjectCheckBox + mButtonBox + + + + + mButtonBox + accepted() + QgsRasterTerrainAnalysisDialogBase + accept() + + + 248 + 254 + + + 157 + 274 + + + + + mButtonBox + rejected() + QgsRasterTerrainAnalysisDialogBase + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/src/plugins/scale_bar/pluginguibase.ui b/src/plugins/scale_bar/pluginguibase.ui index a3db4bfc8906..01ce398ae617 100644 --- a/src/plugins/scale_bar/pluginguibase.ui +++ b/src/plugins/scale_bar/pluginguibase.ui @@ -1,324 +1,232 @@ - + + QgsScaleBarPluginGuiBase - - + + 0 0 - 518 - 406 + 270 + 199 - + Scale Bar Plugin - + - - - 9 - - - 6 - - - - - - 2 - 32767 - - - - QFrame::VLine - - - QFrame::Sunken - - - Qt::Vertical - - - - - - - - - - :/scalebar.png - - - - - - - 0 - - - 6 - - - - - - 1 - 1 + + + + + QFormLayout::AllNonFixedFieldsGrow + + + + + 0 0 - - Click to select the colour - - - Click to select the colour - - - - - - - - - - - 5 - 1 - 0 - 0 - - - - Size of bar: - - - - - - - - 1 - 1 - 0 - 0 - - - - Automatically snap to round number on resize - - - true - - - - - - - - 5 - 1 - 0 - 0 - + + Placement - - Colour of bar: + + cboPlacement - - - - - 1 - 1 + + + + 0 0 - + Top Left - + Top Right - + Bottom Left - + Bottom Right - - - - - 1 - 1 + + + + 0 0 - - Enable scale bar - - - true - - - - - - - - 5 - 1 - 0 - 0 - + + Scale bar style - - Scale bar style: + + cboStyle - - - - - 1 - 1 + + + + 0 0 - + Select the style of the scale bar - + Tick Down - + Tick Up - + Box - + Bar - - - - - 1 - 1 + + + + 0 0 + + Colour of bar + + + pbnChangeColour + - - - - - 5 - 1 + + + + 0 0 - - Placement: + + Click to select the colour + + + Click to select the colour + + + + + + + + + + + 0 + 0 + + + + Size of bar + + + spnSize + + + + + + + + 0 + 0 + - - - - - 7 - 5 + + + + 0 0 - - true + + Enable scale bar - - <html><head><meta name="qrichtext" content="1" /></head><body style=" white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This plugin draws a scale bar on the map. Please note the size option below is a 'preferred' 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.</p></body></html> + + true - - - - - 5 - 1 + + + + 0 0 - - - Sans Serif - 24 - 50 - false - false - false - false - + + Automatically snap to round number on resize - - Scale Bar Plugin - - - Qt::AlignCenter + + true - - - + + + Qt::Horizontal - - QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::NoButton|QDialogButtonBox::Ok + + QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::Ok - + QgsColorButton @@ -326,8 +234,17 @@

qgscolorbutton.h
+ + cboPlacement + cboStyle + pbnChangeColour + spnSize + chkEnable + chkSnapping + buttonBox + - +
diff --git a/src/plugins/spit/qgsspitbase.ui b/src/plugins/spit/qgsspitbase.ui index 9df0d6c1cd4f..3b83d08f641b 100644 --- a/src/plugins/spit/qgsspitbase.ui +++ b/src/plugins/spit/qgsspitbase.ui @@ -1,7 +1,8 @@ - + + QgsSpitBase - - + + 0 0 @@ -9,63 +10,53 @@ 520 - + 0 0 - + SPIT - Shapefile to PostGIS Import Tool - + true - - + + 9 - + 6 - - - + + + Qt::Horizontal - - QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::NoButton|QDialogButtonBox::Ok + + QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::Ok - - - - :/spit_image.png + + + + PostgreSQL connections - - true - - - - - - - PostgreSQL Connections - - - + + 11 - + 6 - + - + Qt::Horizontal - + 40 20 @@ -73,9 +64,9 @@ - - - + + + 200 0 @@ -83,54 +74,54 @@ - - - + + + Edit the current PostGIS connection - + Edit the current PostGIS connection - + Edit - - - + + + Remove the current PostGIS connection - + Remove the current PostGIS connection - + Remove - - - + + + Create a new PostGIS connection - + Create a new PostGIS connection - + New - - - + + + Connect to PostGIS - + Connect to PostGIS - + Connect @@ -138,176 +129,199 @@ - - - + + + Import options and shapefile list - - - 9 - - - 6 - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Add a shapefile to the list of files to be imported - - - Add a shapefile to the list of files to be imported - - - Add - - + + + + + + + Geometry column name + + + txtGeomName + + + + + + + + + + Set the geometry column name to the default value + + + Set the geometry column name to the default value + + + Use default geometry column name + + + + + + + SRID + + + spinSrid + + + + + + + -1 + + + 1000000000 + + + -1 + + + + + + + Set the SRID to the default value + + + Set the SRID to the default value + + + Use default SRID + + + + + + + Primary key column name + + + txtPrimaryKeyName + + + + + + + + + + Global schema + + + cmbSchema + + + + + + + + 200 + 24 + + + + + + + false + + + + - - - - Remove the selected shapefile from the import list - - - Remove the selected shapefile from the import list - - - Remove - - - - - - - Remove all the shapefiles from the import list - - - Remove all the shapefiles from the import list - - - Remove All - - - - - - + + + QAbstractItemView::MultiSelection - + QAbstractItemView::SelectRows - - - - - - - Set the SRID to the default value - - - Set the SRID to the default value - - - Use Default SRID or specify here - - - - - - - Set the geometry column name to the default value - - - Set the geometry column name to the default value - - - Use Default Geometry Column Name or specify here - - - - - - - 1000000000 - - - -1 - - - -1 - - - - - - - - - - Primary Key Column Name - - - txtPrimaryKeyName - - - - - - - Global Schema - - - cmbSchema - - - - - - - - 200 - 24 - - - - - - - false - - + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Add a shapefile to the list of files to be imported + + + Add a shapefile to the list of files to be imported + + + Add + + + + + + + Remove the selected shapefile from the import list + + + Remove the selected shapefile from the import list + + + Remove + + + + + + + Remove all the shapefiles from the import list + + + Remove all the shapefiles from the import list + + + Remove All + + + + - + cmbConnections + btnConnect btnNew btnEdit btnRemove - chkUseDefaultGeom txtGeomName - chkUseDefaultSrid + chkUseDefaultGeom spinSrid + chkUseDefaultSrid txtPrimaryKeyName cmbSchema tblShapefiles @@ -317,7 +331,7 @@ buttonBox - + diff --git a/src/plugins/wfs/qgswfssourceselectbase.ui b/src/plugins/wfs/qgswfssourceselectbase.ui index ac5a6b721076..cb02fb8b293b 100644 --- a/src/plugins/wfs/qgswfssourceselectbase.ui +++ b/src/plugins/wfs/qgswfssourceselectbase.ui @@ -1,177 +1,188 @@ - - QgsWFSSourceSelectBase - - - - 0 - 0 - 577 - 444 - - - - Add WFS Layer from a Server - - - - 9 - - - 6 - - - - - 3 - - - - Title - - - - - Name - - - - - Abstract - - - - - - - - Coordinate Reference System - - - - 9 - - - 6 - - - - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Expanding - - - - 441 - 23 - - - - - - - - false - - - Change ... - - - - - - - - - - Server Connections - - - - 9 - - - 6 - - - - - &New - - - - - - - false - - - Delete - - - - - - - false - - - Edit - - - - - - - Qt::Horizontal - - - QSizePolicy::Expanding - - - - 171 - 30 - - - - - - - - false - - - C&onnect - - - - - - - - - - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::NoButton|QDialogButtonBox::Ok - - - - - - - - + + + QgsWFSSourceSelectBase + + + + 0 + 0 + 577 + 444 + + + + Add WFS Layer from a Server + + + + 9 + + + 6 + + + + + 3 + + + + Title + + + + + Name + + + + + Abstract + + + + + + + + Coordinate reference system + + + + 6 + + + 9 + + + + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 441 + 23 + + + + + + + + false + + + Change ... + + + + + + + + + + Server connections + + + + 9 + + + 6 + + + + + &New + + + + + + + false + + + Delete + + + + + + + false + + + Edit + + + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 171 + 30 + + + + + + + + false + + + C&onnect + + + + + + + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::Ok + + + + + + + cmbConnections + btnConnect + btnNew + btnEdit + btnDelete + treeWidget + btnChangeSpatialRefSys + buttonBox + + + + diff --git a/src/ui/qgsaddattrdialogbase.ui b/src/ui/qgsaddattrdialogbase.ui index 03567483bf89..9d0984b578f6 100644 --- a/src/ui/qgsaddattrdialogbase.ui +++ b/src/ui/qgsaddattrdialogbase.ui @@ -7,7 +7,7 @@ 0 0 356 - 207 + 235 @@ -20,7 +20,7 @@ - Name: + N&ame mNameEdit @@ -33,7 +33,7 @@ - Comment: + Comment mCommentEdit @@ -46,7 +46,7 @@ - Type: + Type mTypeBox @@ -59,7 +59,7 @@ - Type: + Type mTypeBox @@ -104,7 +104,11 @@ mNameEdit + mCommentEdit mTypeBox + mLength + mPrec + buttonBox @@ -115,8 +119,8 @@ accept() - 260 - 109 + 339 + 225 307 @@ -131,8 +135,8 @@ reject() - 196 - 106 + 275 + 225 6 diff --git a/src/ui/qgscomposerbase.ui b/src/ui/qgscomposerbase.ui index 27ae1791f324..2c0b87e40c00 100644 --- a/src/ui/qgscomposerbase.ui +++ b/src/ui/qgscomposerbase.ui @@ -117,7 +117,7 @@ - 9 + 0 6 diff --git a/src/ui/qgscomposeritemwidgetbase.ui b/src/ui/qgscomposeritemwidgetbase.ui index e3402c01cbd1..a7dc86709a11 100644 --- a/src/ui/qgscomposeritemwidgetbase.ui +++ b/src/ui/qgscomposeritemwidgetbase.ui @@ -6,20 +6,23 @@ 0 0 - 347 - 157 + 215 + 434 Form - + + + 0 + Composer item properties - + @@ -30,21 +33,21 @@ - + Frame... - + Background... - + Opacity @@ -54,7 +57,7 @@ - + 255 @@ -64,7 +67,7 @@ - + Outline width @@ -74,20 +77,20 @@ - + - + Position... - + - Frame + Show frame diff --git a/src/ui/qgscomposermapwidgetbase.ui b/src/ui/qgscomposermapwidgetbase.ui index ee07e0ea924e..cc22d0a12871 100644 --- a/src/ui/qgscomposermapwidgetbase.ui +++ b/src/ui/qgscomposermapwidgetbase.ui @@ -6,8 +6,8 @@ 0 0 - 482 - 677 + 504 + 802 @@ -19,410 +19,526 @@ Map options - + + + 0 + - - - Map + + + true - - - - - Width - - - true - - - mWidthLineEdit - - - - - - - - - - Height - - - - - - - - - - - - - 0 - 0 - - - - Scale - - - true - - - - - - - 1: - - - - - - - - - - - - - - - - Rotation: - - - - - - - 359 - - - - - - - - - - Map extent - - - - - - - - - - - true - - - X min - - - mXMinLineEdit - - - - - - - - - - Y min - - - mYMinLineEdit - - - - - - - - - - - - - X max - - - mXMaxLineEdit - - - - - - - Y max - - - mYMaxLineEdit - - - - - - - - - - - Qt::Horizontal - - - - 311 - 20 - - - - - - - - - 0 - 0 - - - - Set to map canvas extent - - - - - - - - - - - - - - Preview - - - true - - - mPreviewModeComboBox - - - - - - - - 0 - 0 - - - - - - - - Update preview + + + + 0 + 0 + 481 + 1482 + + + + + 0 - - - - - - - - Lock layers for map item - - - - - - - Show composer grid widget - - - - - - - - - - Show grid - - - - - - - Grid type: - - - - - - - - - - Cross width: - - - - - - - - - - Interval X: - - - - - - - 999999.000000000000000 - - - - - - - Interval Y: - - - - - - - 9999999.000000000000000 - - - - - - - Offset X: - - - - - - - 9999999.000000000000000 - - - - - - - Offset Y: - - - - - - - 9999999.000000000000000 - - - - - - - Line width: - - - - - - - - - - Line color: - - - - - - - - 0 - 0 - - - - - - - - - - - Draw annotation - - - - - - - Annotation position: - - - - - - - - - - QFrame::NoFrame - - - Annotation direction: - - - - - - - - - - Distance to map frame: - - - - - - - - - - Font... - - - - - - - Coordinate precision - - - - - - - + + + + Preview + + + + + + + 0 + 0 + + + + + + + + Update preview + + + + + + + + + + Map + + + + + + Width + + + true + + + mWidthLineEdit + + + + + + + + + + Height + + + true + + + mHeightLineEdit + + + + + + + + + + + 0 + 0 + + + + Scale + + + true + + + mScaleLineEdit + + + + + + + + + + + + + + Rotation + + + true + + + mRotationSpinBox + + + + + + + 359 + + + + + + + + + + + + + + + + Lock layers for map item + + + true + + + + + + + + + + + + Map extent + + + + + + true + + + X min + + + true + + + mXMinLineEdit + + + + + + + + + + X max + + + true + + + mXMaxLineEdit + + + + + + + + + + Y min + + + true + + + mYMinLineEdit + + + + + + + + + + Y max + + + true + + + mYMaxLineEdit + + + + + + + + + + + 0 + 0 + + + + Set to map canvas extent + + + + + + + + + + Show grid? + + + true + + + false + + + + + + + + + Grid &type + + + true + + + mGridTypeComboBox + + + + + + + + + + Interval X + + + true + + + mIntervalXSpinBox + + + + + + + 5 + + + 999999.000000000000000 + + + + + + + Offset X + + + true + + + mOffsetXSpinBox + + + + + + + 5 + + + 9999999.000000000000000 + + + + + + + Line width + + + true + + + mLineWidthSpinBox + + + + + + + 5 + + + + + + + Draw annotation + + + + + + + Annotation position + + + true + + + mAnnotationPositionComboBox + + + + + + + + + + QFrame::NoFrame + + + Annotation direction + + + true + + + mAnnotationDirectionComboBox + + + + + + + + + + Line color + + + true + + + mLineColorButton + + + + + + + + 0 + 0 + + + + + + + + + + + Font... + + + + + + + Distance to map frame + + + true + + + mDistanceToMapFrameSpinBox + + + + + + + + + + Coordinate precision + + + true + + + mCoordinatePrecisionSpinBox + + + + + + + + + + 5 + + + + + + + 5 + + + 9999999.000000000000000 + + + + + + + Interval Y + + + true + + + mIntervalYSpinBox + + + + + + + 5 + + + 9999999.000000000000000 + + + + + + + Offset Y + + + true + + + mOffsetYSpinBox + + + + + + + Cross width + + + true + + + mCrossWidthSpinBox + + + + + + + + @@ -436,12 +552,34 @@ + scrollArea + mPreviewModeComboBox + mUpdatePreviewButton + mWidthLineEdit + mHeightLineEdit + mScaleLineEdit + mRotationSpinBox + mKeepLayerListCheckBox mXMinLineEdit mXMaxLineEdit mYMinLineEdit mYMaxLineEdit mSetToMapCanvasExtentButton - mKeepLayerListCheckBox + mGridCheckBox + mGridTypeComboBox + mIntervalXSpinBox + mIntervalYSpinBox + mOffsetXSpinBox + mOffsetYSpinBox + mCrossWidthSpinBox + mLineWidthSpinBox + mDrawAnnotationCheckBox + mAnnotationPositionComboBox + mAnnotationDirectionComboBox + mLineColorButton + mAnnotationFontButton + mDistanceToMapFrameSpinBox + mCoordinatePrecisionSpinBox diff --git a/src/ui/qgscompositionwidgetbase.ui b/src/ui/qgscompositionwidgetbase.ui index c222a8397684..b84ba43c9ca1 100644 --- a/src/ui/qgscompositionwidgetbase.ui +++ b/src/ui/qgscompositionwidgetbase.ui @@ -1,298 +1,305 @@ - - QgsCompositionWidgetBase - - - - 0 - 0 - 301 - 761 - - - - - 0 - 0 - - - - Composition - - - - - - Paper - - - - 9 - - - 9 - - - 9 - - - 9 - - - 6 - - - 6 - - - - - true - - - - 0 - 0 - - - - - - - - - - - - - - false - - - - 0 - 0 - - - - - - - - true - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - Orientation - - - mPaperOrientationComboBox - - - - - - - - 0 - 0 - - - - Height - - - mPaperHeightLineEdit - - - - - - - - 0 - 0 - - - - Width - - - mPaperWidthLineEdit - - - - - - - - 0 - 0 - - - - Units - - - mPaperUnitsComboBox - - - - - - - - 0 - 0 - - - - Size - - - mPaperSizeComboBox - - - - - - - - - - Snapping - - - - - - Snap to grid - - - - - - - Grid resolution: - - - - - - - - - - Offset x: - - - - - - - - - - Offset y: - - - - - - - - - - Pen width: - - - - - - - - - - Grid color: - - - - - - - - 0 - 0 - - - - - - - - - - - Grid style: - - - - - - - - - - - - - - 0 - 0 - - - - Print quality (dpi) - - - mResolutionLineEdit - - - - - - - - - - Print as raster - - - - - - - - - QgsColorButton - QToolButton -
qgscolorbutton.h
-
-
- - -
+ + + QgsCompositionWidgetBase + + + + 0 + 0 + 284 + 530 + + + + + 0 + 0 + + + + Composition + + + + + + + 999 + 300 + + + + Paper + + + + 9 + + + 6 + + + + + true + + + + 0 + 0 + + + + + + + + + + + + + + false + + + + 0 + 0 + + + + + + + + true + + + + 0 + 0 + + + + + + + + + 0 + 0 + + + + Orientation + + + mPaperOrientationComboBox + + + + + + + + 0 + 0 + + + + Height + + + mPaperHeightLineEdit + + + + + + + + 0 + 0 + + + + Width + + + mPaperWidthLineEdit + + + + + + + + 0 + 0 + + + + Units + + + mPaperUnitsComboBox + + + + + + + + 0 + 0 + + + + Size + + + mPaperSizeComboBox + + + + + + + + + + Snapping + + + + + + Snap to grid + + + + + + + + 0 + 0 + + + + Grid resolution + + + + + + + + + + + 0 + 0 + + + + Offset x + + + + + + + + + + Offset y + + + + + + + + + + Pen width + + + + + + + + + + Grid color + + + + + + + + 0 + 0 + + + + + + + + + + + Grid style + + + + + + + + + + + + + + 0 + 0 + + + + Print quality (dpi) + + + mResolutionLineEdit + + + + + + + + + + Print as raster + + + + + + + + + QgsColorButton + QToolButton +
qgscolorbutton.h
+
+
+ + +
diff --git a/src/ui/qgscontinuouscolordialogbase.ui b/src/ui/qgscontinuouscolordialogbase.ui index 8dfa39541d3a..a934f944d0da 100644 --- a/src/ui/qgscontinuouscolordialogbase.ui +++ b/src/ui/qgscontinuouscolordialogbase.ui @@ -6,8 +6,8 @@ 0 0 - 575 - 155 + 506 + 265
@@ -20,101 +20,144 @@ 6 - - - - - - - - 0 - 20 - - - - - - - - 100 - 0 - - - + + + + + + 0 + 20 + + + + Classification field + + + classificationComboBox + + + + + + + + 0 + 20 + + + + + + + + + 0 + 20 + + + + Minimum value + + + btnMinValue + + + + + + + + 0 + 20 + + + + Maximum value + + + btnMaxValue + + + + + + + + 100 + 0 + + + + + + + + + 100 + 0 + + + + + + + + + 0 + 20 + + + + Outline width + + + + + + + - - - + + + + Qt::Horizontal + + - 0 + 40 20 - - Maximum value - - - btnMaxValue - - + - - - - - 100 - 0 - + + + + Qt::Vertical - - - - - + - 0 - 20 + 20 + 40 - - Outline width - - + - - - - 0 - 20 - + + + Qt::Horizontal - - Minimum value - - - btnMinValue - - - - - - + - 0 + 40 20 - - Classification field - - - classificationComboBox - - + - + Draw polygon outline diff --git a/src/ui/qgscustomprojectiondialogbase.ui b/src/ui/qgscustomprojectiondialogbase.ui index f459dcb0c59e..2c4054d5abd4 100644 --- a/src/ui/qgscustomprojectiondialogbase.ui +++ b/src/ui/qgscustomprojectiondialogbase.ui @@ -1,7 +1,8 @@ - + + QgsCustomProjectionDialogBase - - + + 0 0 @@ -9,136 +10,143 @@ 548 - + Custom Coordinate Reference System Definition - + - - - - + + + + Define - - - - + + + + You can define your own custom Coordinate Reference System (CRS) here. The definition must conform to the proj4 format for specifying a CRS. - + true - - - + + + Name - + leName - - + + - - - + + + Parameters - + leParameters - - + + - - + + - - + + |< - - ../../images/themes/default/mIconFirst.png + + + ../../images/themes/default/mIconFirst.png../../images/themes/default/mIconFirst.png - - + + < - - ../../images/themes/default/mIconPrevious.png + + + ../../images/themes/default/mIconPrevious.png../../images/themes/default/mIconPrevious.png - - + + 1 of 1 - + Qt::AlignCenter - - - > + + + > - - ../../images/themes/default/mIconNext.png + + + ../../images/themes/default/mIconNext.png../../images/themes/default/mIconNext.png - - - >| + + + >| - - ../../images/themes/default/mIconLast.png + + + ../../images/themes/default/mIconLast.png../../images/themes/default/mIconLast.png - - + + * - - ../../images/themes/default/mIconNew.png + + + ../../images/themes/default/mIconNew.png../../images/themes/default/mIconNew.png - - + + S - - ../../images/themes/default/mActionFileSave.png + + + ../../images/themes/default/mActionFileSave.png../../images/themes/default/mActionFileSave.png - - + + X - - ../../images/themes/default/mIconDelete.png + + + ../../images/themes/default/mIconDelete.png../../images/themes/default/mIconDelete.png @@ -147,111 +155,111 @@ - - - + + + Test - - - - + + + + Use the text boxes below to test the CRS definition you are creating. Enter a coordinate where both the lat/long and the transformed result are known (for example by reading off a map). Then press the calculate button to see if the CRS definition you are creating is accurate. - + true - - - + + + Parameters - + leTestParameters - - + + - - - + + + Geographic / WGS84 - - - + + + Destination CRS - - - + + + North - + northWGS84 - - - + + + true - - - + + + true - + QFrame::Box - + - - - + + + East - + eastWGS84 - - + + - - - + + + true - + QFrame::Box - + - + 1 - - - + + + Calculate @@ -259,16 +267,16 @@ - - - + + + QDialogButtonBox::Ok - + leName leParameters @@ -293,11 +301,11 @@ QgsCustomProjectionDialogBase accept() - + 436 522 - + 471 501 diff --git a/src/ui/qgsfieldcalculatorbase.ui b/src/ui/qgsfieldcalculatorbase.ui index cf6d7a5249d6..0c99aa22a561 100644 --- a/src/ui/qgsfieldcalculatorbase.ui +++ b/src/ui/qgsfieldcalculatorbase.ui @@ -6,7 +6,7 @@ 0 0 - 478 + 615 686 @@ -285,7 +285,7 @@ - + Qt::Horizontal diff --git a/src/ui/qgsitempositiondialogbase.ui b/src/ui/qgsitempositiondialogbase.ui index a963a2f403a0..5141706f7474 100644 --- a/src/ui/qgsitempositiondialogbase.ui +++ b/src/ui/qgsitempositiondialogbase.ui @@ -1,7 +1,8 @@ - + + QgsItemPositionDialogBase - - + + 0 0 @@ -9,75 +10,75 @@ 274 - + Set item position - - - - + + + + Item reference point - - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + @@ -85,49 +86,49 @@ - - - + + + Coordinates - - - + + + - - - x: + + + x - + - - + + - - - y: + + + y - + - + - + Qt::Horizontal - + 201 20 @@ -135,18 +136,18 @@ - - + + - - + + Set Position - - + + Close diff --git a/src/ui/qgsmeasurebase.ui b/src/ui/qgsmeasurebase.ui index 5e4779ea58ae..f16eaae84d88 100644 --- a/src/ui/qgsmeasurebase.ui +++ b/src/ui/qgsmeasurebase.ui @@ -1,60 +1,61 @@ - + + QgsMeasureBase - - + + 0 0 - 252 + 275 272 - + 150 200 - + Measure - + - - + + 9 - + 6 - - - + + + 75 true - + Qt::AlignRight - + true - + - + Qt::Horizontal - + QSizePolicy::Fixed - + 41 25 @@ -62,58 +63,71 @@ - - - - Total: + + + + Total - + editTotal - - - + + + QAbstractItemView::NoEditTriggers - + false - + 1 - + Segments - - - - 4 - - + + + 6 + + 4 + - - + + Help + + + + Qt::Horizontal + + + + 40 + 20 + + + + - + Qt::Horizontal - + QSizePolicy::Expanding - + 30 26 @@ -122,15 +136,15 @@ - - + + New - - + + Cl&ose @@ -139,7 +153,7 @@ - + diff --git a/src/ui/qgsvectorlayerpropertiesbase.ui b/src/ui/qgsvectorlayerpropertiesbase.ui index 6ce02b460278..8df14d432b2b 100644 --- a/src/ui/qgsvectorlayerpropertiesbase.ui +++ b/src/ui/qgsvectorlayerpropertiesbase.ui @@ -96,194 +96,6 @@ 0 - - - General - - - - - - Options - - - - - - Display name - - - txtDisplayName - - - - - - - - - - Display field for the Identify Results dialog box - - - This sets the display field for the Identify Results dialog box - - - Display field - - - displayFieldComboBox - - - - - - - Use this control to set which field is placed at the top level of the Identify Results dialog box. - - - - - - - true - - - - - - - Create Spatial Index - - - - - - - Specify the coordinate reference system of the layer's geometry. - - - Specify the coordinate reference system of the layer's geometry. - - - Specify CRS - - - - - - - - - - Use scale dependent rendering - - - true - - - - 11 - - - - - Maximum - - - spinMaximumScale - - - - - - - Minimum - - - spinMinimumScale - - - - - - - Minimum scale at which this layer will be displayed. - - - 1 - - - 100000000 - - - - - - - Maximum scale at which this layer will be displayed. - - - 1 - - - 100000000 - - - - - - - - - - Subset - - - - 11 - - - - - false - - - false - - - false - - - - - - - Qt::Horizontal - - - QSizePolicy::Expanding - - - - 480 - 21 - - - - - - - - Query Builder - - - - - - - - @@ -397,26 +209,6 @@ - - - Metadata - - - - 11 - - - - - 2 - - - true - - - - - Labels @@ -456,29 +248,6 @@ - - - Actions - - - - - - - 0 - 0 - - - - QFrame::NoFrame - - - QFrame::Raised - - - - - Attributes @@ -594,6 +363,237 @@ + + + General + + + + + + Options + + + + + + Display name + + + txtDisplayName + + + + + + + + + + Display field for the Identify Results dialog box + + + This sets the display field for the Identify Results dialog box + + + Display field + + + displayFieldComboBox + + + + + + + Use this control to set which field is placed at the top level of the Identify Results dialog box. + + + + + + + true + + + + + + + Create Spatial Index + + + + + + + Specify the coordinate reference system of the layer's geometry. + + + Specify the coordinate reference system of the layer's geometry. + + + Specify CRS + + + + + + + + + + Use scale dependent rendering + + + true + + + + 11 + + + + + Maximum + + + spinMaximumScale + + + + + + + Minimum + + + spinMinimumScale + + + + + + + Minimum scale at which this layer will be displayed. + + + 1 + + + 100000000 + + + + + + + Maximum scale at which this layer will be displayed. + + + 1 + + + 100000000 + + + + + + + + + + Subset + + + + 11 + + + + + false + + + false + + + false + + + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 480 + 21 + + + + + + + + Query Builder + + + + + + + + + + + Metadata + + + + 11 + + + + + 2 + + + true + + + + + + + + Actions + + + + + + + 0 + 0 + + + + QFrame::NoFrame + + + QFrame::Raised + + + + +