Skip to content
Permalink
Browse files

Merge remote branch 'pb/master'

  • Loading branch information
Sergey Yakushevs
Sergey Yakushevs committed May 23, 2011
2 parents 1d3ac80 + ee6c516 commit 8bbdde6254cc12ab7fc09866bb1405630d891f15
Showing with 9,888 additions and 2,712 deletions.
  1. +2,102 −1,921 i18n/qgis_de.ts
  2. +4 −0 images/images.qrc
  3. BIN images/themes/default/customization/calendarwidget.png
  4. BIN images/themes/default/customization/checkbox.png
  5. BIN images/themes/default/customization/columnview.png
  6. BIN images/themes/default/customization/combobox.png
  7. BIN images/themes/default/customization/commandlinkbutton.png
  8. BIN images/themes/default/customization/dateedit.png
  9. BIN images/themes/default/customization/datetimeedit.png
  10. BIN images/themes/default/customization/dial.png
  11. BIN images/themes/default/customization/dialogbuttonbox.png
  12. BIN images/themes/default/customization/dockwidget.png
  13. BIN images/themes/default/customization/doublespinbox.png
  14. BIN images/themes/default/customization/fontcombobox.png
  15. BIN images/themes/default/customization/frame.png
  16. BIN images/themes/default/customization/graphicsview.png
  17. BIN images/themes/default/customization/groupbox.png
  18. BIN images/themes/default/customization/groupboxcollapsible.png
  19. BIN images/themes/default/customization/hscrollbar.png
  20. BIN images/themes/default/customization/hslider.png
  21. BIN images/themes/default/customization/hsplit.png
  22. BIN images/themes/default/customization/label.png
  23. BIN images/themes/default/customization/lcdnumber.png
  24. BIN images/themes/default/customization/line.png
  25. BIN images/themes/default/customization/lineedit.png
  26. BIN images/themes/default/customization/listbox.png
  27. BIN images/themes/default/customization/listview.png
  28. BIN images/themes/default/customization/mdiarea.png
  29. BIN images/themes/default/customization/plaintextedit.png
  30. BIN images/themes/default/customization/progress.png
  31. BIN images/themes/default/customization/pushbutton.png
  32. BIN images/themes/default/customization/radiobutton.png
  33. BIN images/themes/default/customization/scrollarea.png
  34. BIN images/themes/default/customization/spacer.png
  35. BIN images/themes/default/customization/spinbox.png
  36. BIN images/themes/default/customization/tabbar.png
  37. BIN images/themes/default/customization/table.png
  38. BIN images/themes/default/customization/tabwidget.png
  39. BIN images/themes/default/customization/textedit.png
  40. BIN images/themes/default/customization/timeedit.png
  41. BIN images/themes/default/customization/toolbox.png
  42. BIN images/themes/default/customization/toolbutton.png
  43. BIN images/themes/default/customization/vline.png
  44. BIN images/themes/default/customization/vscrollbar.png
  45. BIN images/themes/default/customization/vslider.png
  46. BIN images/themes/default/customization/vspacer.png
  47. BIN images/themes/default/customization/widget.png
  48. BIN images/themes/default/customization/widgetstack.png
  49. BIN images/themes/default/customization/wizard.png
  50. BIN images/themes/default/grass_location.png
  51. BIN images/themes/default/grass_mapset.png
  52. BIN images/themes/default/mIconWms.png
  53. BIN images/themes/default/mIconWmsLayer.png
  54. +1 −0 ms-windows/osgeo4w/postinstall.bat
  55. +3 −1 python/plugins/GdalTools/tools/doClipper.py
  56. +10 −3 python/plugins/GdalTools/tools/widgetClipper.ui
  57. +129 −0 python/widgets_tree.py
  58. +1 −1 resources/CMakeLists.txt
  59. +2,024 −0 resources/customization.xml
  60. +1 −1 src/CMakeLists.txt
  61. +3 −20 src/app/CMakeLists.txt
  62. +52 −16 src/app/attributetable/qgsattributetabledialog.cpp
  63. +25 −0 src/app/attributetable/qgsattributetabledialog.h
  64. +26 −0 src/app/main.cpp
  65. +90 −119 src/app/qgisapp.cpp
  66. +13 −15 src/app/qgisapp.h
  67. +5 −4 src/app/qgsattributedialog.cpp
  68. +899 −0 src/app/qgscustomization.cpp
  69. +165 −0 src/app/qgscustomization.h
  70. +9 −245 src/app/qgsvectorlayerproperties.cpp
  71. +112 −0 src/browser/CMakeLists.txt
  72. +112 −0 src/browser/main.cpp
  73. +505 −0 src/browser/qgsbrowser.cpp
  74. +84 −0 src/browser/qgsbrowser.h
  75. +246 −0 src/browser/qgsbrowserbase.ui
  76. +312 −0 src/browser/qgsbrowsermodel.cpp
  77. +70 −0 src/browser/qgsbrowsermodel.h
  78. +5 −0 src/core/CMakeLists.txt
  79. +4 −4 src/core/composer/qgscomposermap.cpp
  80. +8 −1 src/core/qgsapplication.cpp
  81. +3 −0 src/core/qgsapplication.h
  82. +7 −0 src/core/qgsattributeaction.cpp
  83. +1 −0 src/core/qgsattributeaction.h
  84. +560 −0 src/core/qgsdataitem.cpp
  85. +238 −0 src/core/qgsdataitem.h
  86. +13 −0 src/core/qgsdataprovider.h
  87. +5 −0 src/core/qgsmaplayer.cpp
  88. +3 −0 src/core/qgsmaplayer.h
  89. +60 −0 src/core/qgsproviderregistry.cpp
  90. +14 −0 src/core/qgsproviderregistry.h
  91. +43 −0 src/core/qgspythonrunner.cpp
  92. +41 −0 src/core/qgspythonrunner.h
  93. +232 −0 src/core/qgsvectorlayer.cpp
  94. +2 −0 src/core/qgsvectorlayer.h
  95. +2 −2 src/core/symbology-ng/qgsmarkersymbollayerv2.cpp
  96. +27 −0 src/gui/CMakeLists.txt
  97. 0 src/{app → gui}/attributetable/qgsattributetabledelegate.cpp
  98. 0 src/{app → gui}/attributetable/qgsattributetabledelegate.h
  99. 0 src/{app → gui}/attributetable/qgsattributetablefiltermodel.cpp
  100. 0 src/{app → gui}/attributetable/qgsattributetablefiltermodel.h
  101. 0 src/{app → gui}/attributetable/qgsattributetableidcolumnpair.cpp
  102. 0 src/{app → gui}/attributetable/qgsattributetableidcolumnpair.h
  103. 0 src/{app → gui}/attributetable/qgsattributetablememorymodel.cpp
  104. 0 src/{app → gui}/attributetable/qgsattributetablememorymodel.h
  105. +5 −9 src/{app → gui}/attributetable/qgsattributetablemodel.cpp
  106. +11 −2 src/{app → gui}/attributetable/qgsattributetablemodel.h
  107. +22 −32 src/{app → gui}/attributetable/qgsattributetableview.cpp
  108. +4 −21 src/{app → gui}/attributetable/qgsattributetableview.h
  109. +2 −1 src/gui/qgsannotationitem.cpp
  110. 0 src/{app → gui}/qgsmanageconnectionsdialog.cpp
  111. +1 −1 src/{app → gui}/qgsmanageconnectionsdialog.h
  112. +1 −1 src/gui/qgsmapcanvasitem.cpp
  113. 0 src/{app → gui}/qgsnewhttpconnection.cpp
  114. +1 −1 src/{app → gui}/qgsnewhttpconnection.h
  115. +105 −3 src/{app → gui}/qgsnewvectorlayerdialog.cpp
  116. +5 −1 src/{app → gui}/qgsnewvectorlayerdialog.h
  117. 0 src/{app → gui}/qgsnumericsortlistviewitem.cpp
  118. +1 −1 src/{app → gui}/qgsnumericsortlistviewitem.h
  119. +1 −1 src/plugins/georeferencer/qgsgcpcanvasitem.cpp
  120. +1 −1 src/plugins/grass/qgsgrassbrowser.cpp
  121. +1 −1 src/plugins/grass/qgsgrassmodel.cpp
  122. +1 −1 src/plugins/grass/qgsgrassmodule.cpp
  123. +1 −95 src/plugins/grass/qgsgrassselect.cpp
  124. +0 −3 src/plugins/grass/qgsgrassselect.h
  125. +1 −1 src/plugins/grass/qgsgrassutils.cpp
  126. +0 −5 src/plugins/wfs/CMakeLists.txt
  127. +135 −11 src/providers/gdal/qgsgdalprovider.cpp
  128. +12 −2 src/providers/gdal/qgsgdalprovider.h
  129. +2 −2 src/providers/grass/CMakeLists.txt
  130. +93 −0 src/providers/grass/qgsgrass.cpp
  131. +3 −0 src/providers/grass/qgsgrass.h
  132. +125 −0 src/providers/grass/qgsgrassprovider.cpp
  133. +28 −1 src/providers/grass/qgsgrassprovider.h
  134. +270 −4 src/providers/ogr/qgsogrprovider.cpp
  135. +13 −0 src/providers/ogr/qgsogrprovider.h
  136. +15 −3 src/providers/wms/CMakeLists.txt
  137. +131 −0 src/providers/wms/qgswmsconnection.cpp
  138. +55 −0 src/providers/wms/qgswmsconnection.h
  139. +245 −2 src/providers/wms/qgswmsprovider.cpp
  140. +56 −0 src/providers/wms/qgswmsprovider.h
  141. +76 −137 src/{app → providers/wms}/qgswmssourceselect.cpp
  142. +21 −4 src/{app → providers/wms}/qgswmssourceselect.h
  143. +33 −12 src/ui/qgisapp.ui
  144. +140 −0 src/ui/qgscustomizationdialogbase.ui

Large diffs are not rendered by default.

@@ -13,6 +13,8 @@
<file>themes/default/geographic.png</file>
<file>themes/default/gpsicons/barchart.svg</file>
<file>themes/default/gpsicons/polarchart.svg</file>
<file>themes/default/grass_location.png</file>
<file>themes/default/grass_mapset.png</file>
<file>themes/default/join_bevel.png</file>
<file>themes/default/join_miter.png</file>
<file>themes/default/join_round.png</file>
@@ -178,6 +180,8 @@
<file>themes/default/mIconTableLayer.png</file>
<file>themes/default/mIconUnknownLayerType.png</file>
<file>themes/default/mIconWaitingForLayerType.png</file>
<file>themes/default/mIconWms.png</file>
<file>themes/default/mIconWmsLayer.png</file>
<file>themes/default/mMapserverExport.png</file>
<file>themes/default/plugin.png</file>
<file>themes/default/propertyicons/action.png</file>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
@@ -10,4 +10,5 @@ textreplace -std -t "%O4W_ROOT%\apps\@package@\bin\qgis.reg"
"%WINDIR%\regedit" /s "%O4W_ROOT%\apps\@package@\bin\qgis.reg"

path %PATH%;%OSGEO4W_ROOT%\apps\@package@\bin
call "%OSGEO4W_ROOT%"\bin\o4w_env.bat
start "CRS synchronization" /wait %OSGEO4W_ROOT%\apps\@package@\crssync
@@ -28,6 +28,7 @@ def __init__(self, iface):
(self.outSelector, SIGNAL("filenameChanged()") ),
(self.noDataSpin, SIGNAL("valueChanged(int)"), self.noDataCheck, "1.7.0"),
(self.maskSelector, SIGNAL("filenameChanged()"), self.maskModeRadio, "1.6.0"),
(self.alphaBandCheck, SIGNAL( "stateChanged( int )") ),
(self.extentSelector, [SIGNAL("selectionStarted()"), SIGNAL("newExtentDefined()")], self.extentModeRadio),
(self.modeStackedWidget, SIGNAL("currentIndexChanged(int)"))
]
@@ -138,7 +139,8 @@ def getArgsModeMask(self):
arguments << "-q"
arguments << "-cutline"
arguments << mask
arguments << "-dstalpha"
if self.alphaBandCheck.isChecked():
arguments << "-dstalpha"

outputFn = self.getOutputFileName()
if not outputFn.isEmpty():
@@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>338</width>
<height>191</height>
<height>226</height>
</rect>
</property>
<property name="sizePolicy">
@@ -90,7 +90,7 @@
<item row="1" column="0" colspan="2">
<widget class="QStackedWidget" name="modeStackedWidget">
<property name="currentIndex">
<number>0</number>
<number>1</number>
</property>
<widget class="QWidget" name="page">
<layout class="QGridLayout" name="gridLayout_3">
@@ -107,7 +107,7 @@
<property name="margin">
<number>0</number>
</property>
<item row="1" column="0">
<item row="2" column="0">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
@@ -130,6 +130,13 @@
<item row="0" column="1">
<widget class="GdalToolsInOutSelector" name="maskSelector" native="true"/>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="alphaBandCheck">
<property name="text">
<string>Create an output alpha band</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
@@ -0,0 +1,129 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-

# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.

"""
Reads .ui files from ../src/ui/ directory and write to stdout an XML describing
widgets tree.
Python bindings must be compiled and in PYTHONPATH
QGIS libraries must be in LD_LIBRARY_PATH
Output should go to ../resources/customization.xml
"""

import sys
import os, glob, imp
from PyQt4.QtGui import *
from PyQt4.uic import loadUi, compileUi
from xml.etree.ElementTree import Element, SubElement, Comment, tostring
from xml.dom import minidom

# qwt_plot is missing somehow but it may depend on installed packages
from PyQt4 import Qwt5 as qwt_plot
sys.modules['qwt_plot'] = qwt_plot

# loadUi is looking for custom widget in module which is lowercase version of
# the class, which do not exist (AFAIK) -> preload them, problems anyway:
# missing in gui: QgsColorRampComboBox, QgsRendererRulesTreeWidget,
# QgsRendererRulesTreeWidget, QgsAttributeTableView
# and QgsProjectionSelector cannot open db file
from qgis import gui
for m in ['qgscolorbutton', 'qgscolorrampcombobox', 'qgsprojectionselector', 'qgslabelpreview', 'qgsrulebasedrendererv2widget', 'qgsattributetableview' ]:
sys.modules[m] = gui

class UiInspector:
def __init__(self ):
self.ui_dir = os.path.abspath ( os.path.join( os.path.dirname(__file__) , '../src/ui/*.ui' ) )
self.printMsg ( "Loading UI files " + self.ui_dir )
# list of widget classes we want to follow
self.follow = [
QWidget, QDialog,
QCheckBox, QComboBox, QDial, QPushButton, QLabel, QLCDNumber, QLineEdit, QRadioButton, QScrollBar, QSlider, QSpinBox, QTextEdit,
QDateEdit, QTimeEdit, QDateTimeEdit, QListView, QProgressBar, QTableView, QTabWidget, QTextBrowser, QDialogButtonBox,
QScrollArea, QGroupBox, QStackedWidget,
]

def printMsg ( self, msg ):
sys.stderr.write( msg + "\n" )

def widgetXml(self, element, widget, level = 0, label = None ):
#print tostring ( element )
#self.printMsg ( "class: " + str( type ( widget ) ) )
#self.printMsg ( "objectName: " + widget.objectName() )
#self.printMsg ( "windowTitle: " + widget.windowTitle() )

if not widget.objectName(): return

lab = label
if hasattr( widget, 'text' ):
lab = widget.text()
if widget.windowTitle():
label = widget.windowTitle()
if not lab:
lab = ''

lab = unicode(lab).encode("ascii","replace")

sub_element = SubElement( element, 'widget')
sub_element.set('class', widget.__class__.__name__ )
sub_element.set('objectName', widget.objectName() )
sub_element.set('label', lab )

#print str ( widget.children () )
# tab widget label is stored in QTabWidget->QTabBarPrivate->tabList->QTab ..
if type(widget) in [ QTabWidget ]:
children = list ( { 'widget': widget.widget(i), 'label': widget.tabText(i) } for i in range ( 0, widget.count() ) )
else:
children = list ( { 'widget': c, 'label': None } for c in widget.children () )
for child in children:
w = child['widget']
if w.isWidgetType() and ( type(w) in self.follow ):
self.widgetXml ( sub_element, w, level+1, child['label'] )


def treeXml(self, element ):
xml = ''
# debug
for p in glob.glob( self.ui_dir ):
#for p in ['/home/radim/devel/qgis_trunk/src/ui/qgsabout.ui']:
#for p in ['/home/radim/devel/qgis_trunk/src/ui/qgsrasterlayerpropertiesbase.ui']:
self.printMsg ( "Loading " + p )
# qgsrasterlayerpropertiesbase.ui is giving: No module named qwt_plot
try:
widget = loadUi ( p )
#print dir ( ui )
self.widgetXml ( element, widget )
except Exception, e:
#except IOError, e:
self.printMsg ( str(e) )

return xml

def xml( self ) :
#xml = "<?xml version='1.0' encoding='UTF-8'?>\n"
#xml += "<!DOCTYPE qgiswidgets SYSTEM 'http://mrcc.com/qgiswidgets.dtd'>\n"
element = Element('qgiswidgets')
self.treeXml( element )

string = tostring ( element, 'utf-8' )
reparsed = minidom.parseString(string)
xml = reparsed.toprettyxml(indent=" ")
return xml


if __name__ == '__main__':
app = QApplication(sys.argv) # required by loadUi
inspector = UiInspector()
xml = inspector.xml()
sys.stdout.write( xml )
sys.stdout.flush()

del app
sys.exit(0)
@@ -1,5 +1,5 @@

INSTALL(FILES srs.db qgis.db qgis_help.db symbology-ng-style.xml spatialite.db
INSTALL(FILES srs.db qgis.db qgis_help.db symbology-ng-style.xml spatialite.db customization.xml
DESTINATION ${QGIS_DATA_DIR}/resources)

SUBDIRS(context_help)

0 comments on commit 8bbdde6

Please sign in to comment.
You can’t perform that action at this time.