Add a possibility to hide a column in the attribute table

This commit is contained in:
Stéphane Brunner 2016-02-24 08:54:50 +01:00 committed by Matthias Kuhn
parent af73c3dd58
commit d4ccc77f27
13 changed files with 1067 additions and 21 deletions

View File

@ -342,6 +342,7 @@
<file>themes/default/mActionZoomOut.svg</file>
<file>themes/default/mActionZoomToLayer.svg</file>
<file>themes/default/mActionZoomToSelected.svg</file>
<file>themes/default/mActionFilterTableFields.svg</file>
<file>themes/default/mIconAtlas.svg</file>
<file>themes/default/mIconAutoPlacementSettings.svg</file>
<file>themes/default/mIconCertificate.svg</file>

View File

@ -0,0 +1,724 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="18"
height="18"
id="svg5692"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="mActionFilterTableFields.svg"
inkscape:export-filename="/home/denis/Desktop/oracle.png"
inkscape:export-xdpi="67.5"
inkscape:export-ydpi="67.5">
<title
id="title2829">GIS icon theme 0.2</title>
<defs
id="defs5694">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 16 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="32 : 16 : 1"
inkscape:persp3d-origin="16 : 10.666667 : 1"
id="perspective3486" />
<inkscape:perspective
id="perspective3496"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective3600"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective7871"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective8710"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective9811"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective4762"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<filter
y="-0.25"
x="-0.25"
height="1.5"
width="1.5"
inkscape:label="Drop shadow"
id="filter4128"
style="color-interpolation-filters:sRGB">
<feGaussianBlur
result="blur"
stdDeviation="2.000000"
in="SourceAlpha"
id="feGaussianBlur4130" />
<feColorMatrix
values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0.351000 0 "
type="matrix"
result="bluralpha"
id="feColorMatrix4132" />
<feOffset
result="offsetBlur"
dy="7.500000"
dx="7.500000"
in="bluralpha"
id="feOffset4134" />
<feMerge
id="feMerge4136">
<feMergeNode
in="offsetBlur"
id="feMergeNode4138" />
<feMergeNode
in="SourceGraphic"
id="feMergeNode4140" />
</feMerge>
</filter>
<inkscape:perspective
id="perspective2850"
inkscape:persp3d-origin="270.04437 : 185.57625 : 1"
inkscape:vp_z="540.08875 : 278.36438 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 278.36438 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2491"
inkscape:persp3d-origin="270.04437 : 185.57625 : 1"
inkscape:vp_z="540.08875 : 278.36438 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 278.36438 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective3486-06"
inkscape:persp3d-origin="16 : 10.666667 : 1"
inkscape:vp_z="32 : 16 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 16 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
id="perspective3496-1" />
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
id="perspective3600-8" />
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
id="perspective7871-1" />
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
id="perspective8710-8" />
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
id="perspective9811-9" />
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
id="perspective4762-6" />
<filter
id="filter4128-3"
inkscape:label="Drop shadow"
width="1.5"
height="1.5"
x="-0.25"
y="-0.25"
style="color-interpolation-filters:sRGB">
<feGaussianBlur
id="feGaussianBlur4130-9"
in="SourceAlpha"
stdDeviation="2.000000"
result="blur" />
<feColorMatrix
id="feColorMatrix4132-01"
result="bluralpha"
type="matrix"
values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0.351000 0 " />
<feOffset
id="feOffset4134-0"
in="bluralpha"
dx="7.500000"
dy="7.500000"
result="offsetBlur" />
<feMerge
id="feMerge4136-1">
<feMergeNode
id="feMergeNode4138-0"
in="offsetBlur" />
<feMergeNode
id="feMergeNode4140-0"
in="SourceGraphic" />
</feMerge>
</filter>
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 278.36438 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="540.08875 : 278.36438 : 1"
inkscape:persp3d-origin="270.04437 : 185.57625 : 1"
id="perspective2850-2" />
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 278.36438 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="540.08875 : 278.36438 : 1"
inkscape:persp3d-origin="270.04437 : 185.57625 : 1"
id="perspective2491-01" />
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 16 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="32 : 16 : 1"
inkscape:persp3d-origin="16 : 10.666667 : 1"
id="perspective3486-5" />
<inkscape:perspective
id="perspective3496-7"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective3600-7"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective7871-3"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective8710-9"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective9811-1"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective4762-2"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<filter
y="-0.25"
x="-0.25"
height="1.5"
width="1.5"
inkscape:label="Drop shadow"
id="filter4128-7"
style="color-interpolation-filters:sRGB">
<feGaussianBlur
result="blur"
stdDeviation="2.000000"
in="SourceAlpha"
id="feGaussianBlur4130-6" />
<feColorMatrix
values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0.351000 0 "
type="matrix"
result="bluralpha"
id="feColorMatrix4132-3" />
<feOffset
result="offsetBlur"
dy="7.500000"
dx="7.500000"
in="bluralpha"
id="feOffset4134-6" />
<feMerge
id="feMerge4136-2">
<feMergeNode
in="offsetBlur"
id="feMergeNode4138-4" />
<feMergeNode
in="SourceGraphic"
id="feMergeNode4140-7" />
</feMerge>
</filter>
<inkscape:perspective
id="perspective2850-6"
inkscape:persp3d-origin="270.04437 : 185.57625 : 1"
inkscape:vp_z="540.08875 : 278.36438 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 278.36438 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2491-9"
inkscape:persp3d-origin="270.04437 : 185.57625 : 1"
inkscape:vp_z="540.08875 : 278.36438 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 278.36438 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 16 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="32 : 16 : 1"
inkscape:persp3d-origin="16 : 10.666667 : 1"
id="perspective3486-6" />
<inkscape:perspective
id="perspective3496-6"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective3600-0"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective7871-8"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective8710-3"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective9811-6"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective4762-3"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<filter
y="-0.25"
x="-0.25"
height="1.5"
width="1.5"
inkscape:label="Drop shadow"
id="filter4128-1"
style="color-interpolation-filters:sRGB">
<feGaussianBlur
result="blur"
stdDeviation="2.000000"
in="SourceAlpha"
id="feGaussianBlur4130-0" />
<feColorMatrix
values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0.351000 0 "
type="matrix"
result="bluralpha"
id="feColorMatrix4132-7" />
<feOffset
result="offsetBlur"
dy="7.500000"
dx="7.500000"
in="bluralpha"
id="feOffset4134-9" />
<feMerge
id="feMerge4136-9">
<feMergeNode
in="offsetBlur"
id="feMergeNode4138-8" />
<feMergeNode
in="SourceGraphic"
id="feMergeNode4140-3" />
</feMerge>
</filter>
<inkscape:perspective
id="perspective2850-9"
inkscape:persp3d-origin="270.04437 : 185.57625 : 1"
inkscape:vp_z="540.08875 : 278.36438 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 278.36438 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2491-98"
inkscape:persp3d-origin="270.04437 : 185.57625 : 1"
inkscape:vp_z="540.08875 : 278.36438 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 278.36438 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 16 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="32 : 16 : 1"
inkscape:persp3d-origin="16 : 10.666667 : 1"
id="perspective3486-0" />
<inkscape:perspective
id="perspective3496-77"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective3600-78"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective7871-6"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective8710-6"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective9811-4"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective4762-7"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<filter
y="-0.25"
x="-0.25"
height="1.5"
width="1.5"
inkscape:label="Drop shadow"
id="filter4128-74"
style="color-interpolation-filters:sRGB">
<feGaussianBlur
result="blur"
stdDeviation="2.000000"
in="SourceAlpha"
id="feGaussianBlur4130-2" />
<feColorMatrix
values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0.351000 0 "
type="matrix"
result="bluralpha"
id="feColorMatrix4132-0" />
<feOffset
result="offsetBlur"
dy="7.500000"
dx="7.500000"
in="bluralpha"
id="feOffset4134-98" />
<feMerge
id="feMerge4136-5">
<feMergeNode
in="offsetBlur"
id="feMergeNode4138-84" />
<feMergeNode
in="SourceGraphic"
id="feMergeNode4140-9" />
</feMerge>
</filter>
<inkscape:perspective
id="perspective2850-4"
inkscape:persp3d-origin="270.04437 : 185.57625 : 1"
inkscape:vp_z="540.08875 : 278.36438 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 278.36438 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2491-0"
inkscape:persp3d-origin="270.04437 : 185.57625 : 1"
inkscape:vp_z="540.08875 : 278.36438 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 278.36438 : 1"
sodipodi:type="inkscape:persp3d" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="22.539028"
inkscape:cx="6.5829522"
inkscape:cy="12.840266"
inkscape:current-layer="layer2"
showgrid="true"
inkscape:grid-bbox="true"
inkscape:document-units="px"
borderlayer="false"
inkscape:window-width="1680"
inkscape:window-height="1026"
inkscape:window-x="1680"
inkscape:window-y="24"
inkscape:window-maximized="1"
inkscape:snap-global="true"
showguides="true"
inkscape:guide-bbox="true"
inkscape:snap-object-midpoints="false"
inkscape:snap-grids="true"
inkscape:object-paths="false">
<inkscape:grid
type="xygrid"
id="grid5700"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
dotted="false"
originx="0"
originy="0" />
</sodipodi:namedview>
<metadata
id="metadata5697">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>GIS icon theme 0.2</dc:title>
<dc:creator>
<cc:Agent>
<dc:title>Robert Szczepanek</dc:title>
</cc:Agent>
</dc:creator>
<dc:rights>
<cc:Agent>
<dc:title>Robert Szczepanek</dc:title>
</cc:Agent>
</dc:rights>
<dc:subject>
<rdf:Bag>
<rdf:li>GIS icons</rdf:li>
</rdf:Bag>
</dc:subject>
<dc:coverage>GIS icons</dc:coverage>
<dc:description>http://robert.szczepanek.pl/</dc:description>
<cc:license
rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/by-sa/3.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Notice" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Attribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#ShareAlike" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Layer"
style="display:inline"
transform="translate(0,-14)">
<rect
style="opacity:1;fill:#e6e6e6;fill-opacity:1;stroke:#6e97c4;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect4176"
width="17"
height="12"
x="0.5"
y="19.5" />
<g
id="orginal-6"
style="fill-rule:nonzero;stroke:#415a75;stroke-miterlimit:4;stroke-opacity:1"
transform="matrix(0.04360941,0,0,0.04360941,-25.975751,8.5017873)" />
<path
inkscape:connector-curvature="0"
id="path2484"
style="fill-rule:nonzero;stroke:#415a75;stroke-width:0.13082823;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
d="" />
<rect
style="display:inline;opacity:1;fill:#bad9ec;fill-opacity:1;stroke:#6e97c4;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect4176-2"
width="17"
height="5"
x="0.5"
y="14.5" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#efef99;fill-opacity:1;fill-rule:evenodd;stroke:#f8ff1b;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 2,17 3,0"
id="path4193"
inkscape:connector-curvature="0" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#efef99;fill-opacity:1;fill-rule:evenodd;stroke:#f8ff1b;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 2,22.5 3,0"
id="path4193-1"
inkscape:connector-curvature="0" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#efef99;fill-opacity:1;fill-rule:evenodd;stroke:#f8ff1b;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 2,24.5 3,0"
id="path4193-1-0"
inkscape:connector-curvature="0" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#efef99;fill-opacity:1;fill-rule:evenodd;stroke:#f8ff1b;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 2,26.5 3,0"
id="path4193-1-00"
inkscape:connector-curvature="0" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#efef99;fill-opacity:1;fill-rule:evenodd;stroke:#f8ff1b;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 2,28.5 3,0"
id="path4193-1-0-2"
inkscape:connector-curvature="0" />
<path
style="display:inline;fill:none;fill-rule:evenodd;stroke:#6e97c4;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 14,17 2,0"
id="path4193-9"
inkscape:connector-curvature="0" />
<path
style="display:inline;fill:none;fill-rule:evenodd;stroke:#6e97c4;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 14,22.5 2,0"
id="path4193-9-5"
inkscape:connector-curvature="0" />
<path
style="display:inline;fill:none;fill-rule:evenodd;stroke:#6e97c4;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 14,24.5 2,0"
id="path4193-9-5-9"
inkscape:connector-curvature="0" />
<path
style="display:inline;fill:none;fill-rule:evenodd;stroke:#6e97c4;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 14,26.5 2,0"
id="path4193-9-5-5"
inkscape:connector-curvature="0" />
<path
style="display:inline;fill:none;fill-rule:evenodd;stroke:#6e97c4;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 14,28.5 2,0"
id="path4193-9-5-9-6"
inkscape:connector-curvature="0" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#6e97c4;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 6,17 3.0000002,0"
id="path4193-4"
inkscape:connector-curvature="0" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#6e97c4;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 6,22.5 3.0000002,0"
id="path4193-1-7"
inkscape:connector-curvature="0" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#6e97c4;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 6,24.5 3.0000002,0"
id="path4193-1-0-9"
inkscape:connector-curvature="0" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#6e97c4;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 6,26.5 3.0000002,0"
id="path4193-1-00-1"
inkscape:connector-curvature="0" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#6e97c4;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 6,28.5 3.0000002,0"
id="path4193-1-0-2-7"
inkscape:connector-curvature="0" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#f8ff1b;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 10,17 3,0"
id="path4193-4-1"
inkscape:connector-curvature="0" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#efef99;fill-opacity:1;fill-rule:evenodd;stroke:#f8ff1b;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 10,22.5 3,0"
id="path4193-1-7-6"
inkscape:connector-curvature="0" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#efef99;fill-opacity:1;fill-rule:evenodd;stroke:#f8ff1b;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 10,24.5 3,0"
id="path4193-1-0-9-5"
inkscape:connector-curvature="0" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#efef99;fill-opacity:1;fill-rule:evenodd;stroke:#f8ff1b;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 10,26.5 3,0"
id="path4193-1-00-1-0"
inkscape:connector-curvature="0" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#efef99;fill-opacity:1;fill-rule:evenodd;stroke:#f8ff1b;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 10,28.5 3,0"
id="path4193-1-0-2-7-5"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 32 KiB

View File

@ -111,6 +111,8 @@ class QgsDualView : QStackedWidget
void setFeatureSelectionManager( QgsIFeatureSelectionManager* featureSelectionManager );
QgsAttributeTableView* tableView();
protected:
/**
* Initializes widgets which depend on the attributes of this layer

View File

@ -0,0 +1,23 @@
class QgsFilterTableFieldsDialog : QDialog
{
%TypeHeaderCode
#include <qgsfiltertablefieldsdialog.h>
%End
public:
/**
* Constructor
* @param vl The concerned vector layer
* @param visible the cuurent list of visible fields name
* @param parent parent object
* @param flags window flags
*/
QgsFilterTableFieldsDialog( const QgsVectorLayer* vl, QStringList visible, QWidget *parent /TransferThis/ = nullptr, Qt::WindowFlags flags = Qt::Window );
~QgsFilterTableFieldsDialog();
/**
* Get the selected fields name
* @return The selected fields name
*/
QStringList selectedFields();
};

View File

@ -166,6 +166,7 @@
%Include attributetable/qgsfeatureselectionmodel.sip
%Include attributetable/qgsfieldconditionalformatwidget.sip
%Include attributetable/qgsifeatureselectionmanager.sip
%Include attributetable/qgsfiltertablefieldsdialog.sip
%Include auth/qgsauthauthoritieseditor.sip
%Include auth/qgsauthcertificateinfo.sip

View File

@ -21,6 +21,7 @@
#include "qgsattributetablemodel.h"
#include "qgsattributetablefiltermodel.h"
#include "qgsattributetableview.h"
#include "qgsfiltertablefieldsdialog.h"
#include <qgsapplication.h>
#include <qgsvectordataprovider.h>
@ -80,6 +81,11 @@ QgsAttributeTableDialog::QgsAttributeTableDialog( QgsVectorLayer *theLayer, QWid
{
setupUi( this );
Q_FOREACH ( const QgsField& field, mLayer->fields() )
{
mVisibleFields.append( field.name() );
}
// Fix selection color on loosing focus (Windows)
setStyleSheet( QgisApp::instance()->styleSheet() );
@ -763,6 +769,27 @@ void QgsAttributeTableDialog::on_mRemoveAttribute_clicked()
}
}
void QgsAttributeTableDialog::on_mFilterTableFields_clicked()
{
if ( !mLayer )
{
return;
}
QgsFilterTableFieldsDialog dialog( mLayer, mVisibleFields );
if ( dialog.exec() == QDialog::Accepted )
{
mVisibleFields = dialog.selectedFields();
const QgsFields layerAttributes = mLayer->fields();
for ( int idx = 0; idx < layerAttributes.count(); ++idx )
{
mMainView->tableView()->setColumnHidden(
idx, !mVisibleFields.contains( layerAttributes[idx].name() ) );
}
}
}
void QgsAttributeTableDialog::filterQueryChanged( const QString& query )
{
QString str;

View File

@ -89,6 +89,10 @@ class APP_EXPORT QgsAttributeTableDialog : public QDialog, private Ui::QgsAttrib
* Reload the data
*/
void on_mReloadButton_clicked();
/**
* Filter the columns (open a dialog, ...)
*/
void on_mFilterTableFields_clicked();
/**
* Inverts selection
@ -223,6 +227,7 @@ class APP_EXPORT QgsAttributeTableDialog : public QDialog, private Ui::QgsAttrib
QgsRubberBand* mRubberBand;
QgsSearchWidgetWrapper* mCurrentSearchWidgetWrapper;
QStringList mVisibleFields;
void updateMultiEditButtonState();

View File

@ -62,6 +62,7 @@ SET(QGIS_GUI_SRCS
attributetable/qgsfieldconditionalformatwidget.cpp
attributetable/qgsgenericfeatureselectionmanager.cpp
attributetable/qgsvectorlayerselectionmanager.cpp
attributetable/qgsfiltertablefieldsdialog.cpp
auth/qgsauthauthoritieseditor.cpp
auth/qgsauthcertificateinfo.cpp
@ -472,6 +473,7 @@ SET(QGIS_GUI_MOC_HDRS
attributetable/qgsgenericfeatureselectionmanager.h
attributetable/qgsifeatureselectionmanager.h
attributetable/qgsvectorlayerselectionmanager.h
attributetable/qgsfiltertablefieldsdialog.h
auth/qgsauthauthoritieseditor.h
auth/qgsauthcertificateinfo.h

View File

@ -103,6 +103,11 @@ class GUI_EXPORT QgsDualView : public QStackedWidget, private Ui::QgsDualViewBas
*/
void setFilterMode( QgsAttributeTableFilterModel::FilterMode filterMode );
/**
* Get the filter mode
*
* @return the filter mode
*/
QgsAttributeTableFilterModel::FilterMode filterMode() { return mFilterModel->filterMode(); }
/**
@ -145,10 +150,27 @@ class GUI_EXPORT QgsDualView : public QStackedWidget, private Ui::QgsDualViewBas
*/
QgsAttributeTableModel* masterModel() const { return mMasterModel; }
/**
* Set the request
*
* @param request The request
*/
void setRequest( const QgsFeatureRequest& request );
/**
* Set the feature selection model
*
* @param featureSelectionManager the feature selection model
*/
void setFeatureSelectionManager( QgsIFeatureSelectionManager* featureSelectionManager );
/**
* Returns the table view
*
* @return The table view
*/
QgsAttributeTableView* tableView() { return mTableView; };
protected:
/**
* Initializes widgets which depend on the attributes of this layer

View File

@ -0,0 +1,97 @@
/***************************************************************************
QgsFilterTableFieldsDialog.cpp
-------------------
date : Feb 2016
copyright : Stéphane Brunner
email : stephane.brunner@gmail.com
***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#include <QDockWidget>
#include <QMessageBox>
#include "qgsfiltertablefieldsdialog.h"
#include "qgsattributetablemodel.h"
#include "qgsattributetablefiltermodel.h"
#include "qgsattributetableview.h"
#include <qgsapplication.h>
#include <qgsvectordataprovider.h>
#include <qgsvectorlayer.h>
#include <qgsexpression.h>
#include "qgssearchquerybuilder.h"
#include "qgslogger.h"
#include "qgsmapcanvas.h"
#include "qgsproject.h"
#include "qgsattributeaction.h"
#include "qgsexpressionbuilderdialog.h"
#include "qgsmessagebar.h"
#include "qgsexpressionselectiondialog.h"
#include "qgsfeaturelistmodel.h"
#include "qgsrubberband.h"
#include "qgsfield.h"
#include "qgseditorwidgetregistry.h"
QgsFilterTableFieldsDialog::QgsFilterTableFieldsDialog( const QgsVectorLayer* vl, const QStringList visble, QWidget *parent, Qt::WindowFlags flags )
: QDialog( parent, flags )
{
setupUi( this );
if ( vl )
{
mFieldsList->clear();
const QgsFields& layerAttributes = vl->fields();
for ( int idx = 0; idx < layerAttributes.count(); ++idx )
{
QListWidgetItem* item = new QListWidgetItem( layerAttributes[idx].name(), mFieldsList );
item->setCheckState( visble.contains( layerAttributes[idx].name() ) ? Qt::Checked : Qt::Unchecked );
switch ( vl->fields().fieldOrigin( idx ) )
{
case QgsFields::OriginExpression:
item->setIcon( QgsApplication::getThemeIcon( "/mIconExpression.svg" ) );
break;
case QgsFields::OriginJoin:
item->setIcon( QgsApplication::getThemeIcon( "/propertyicons/join.png" ) );
break;
default:
item->setIcon( QgsApplication::getThemeIcon( "/propertyicons/attributes.png" ) );
break;
}
item->setData( Qt::UserRole, idx );
}
}
QSettings settings;
restoreGeometry( settings.value( "/Windows/QgsFilterTableFieldsDialog/geometry" ).toByteArray() );
}
QgsFilterTableFieldsDialog::~QgsFilterTableFieldsDialog()
{
QSettings settings;
settings.setValue( "/Windows/QgsFilterTableFieldsDialog/geometry", saveGeometry() );
}
QStringList QgsFilterTableFieldsDialog::selectedFields()
{
QStringList selectionList;
for ( int i = 0 ; i < mFieldsList->count() ; i++ )
{
const QListWidgetItem* item = mFieldsList->item( i );
if ( item->checkState() == Qt::Checked )
{
selectionList.push_back( item->text() );
}
}
return selectionList;
}

View File

@ -0,0 +1,70 @@
/***************************************************************************
QgsFilterTableFieldsDialog.h - dialog for attribute table
-------------------
date : Feb 2016
copyright : Stéphane Brunner
email : stephane.brunner@gmail.com
***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef QGSFILTERTABLEFIELDSDIALOG_H_
#define QGSFILTERTABLEFIELDSDIALOG_H_
#include <QDialog>
#include <QModelIndex>
#include <QItemSelectionModel>
#include <time.h>
#include "ui_qgsfiltertablefieldsdialog.h"
#include "qgscontexthelp.h"
#include "qgsattributedialog.h"
#include "qgsvectorlayer.h" //QgsFeatureIds
#include "qgsfieldmodel.h"
#include "qgssearchwidgetwrapper.h"
#include <QDockWidget>
class QDialogButtonBox;
class QPushButton;
class QLineEdit;
class QComboBox;
class QMenu;
class QSignalMapper;
class QgsAttributeTableModel;
class QgsAttributeTableFilterModel;
class QgsRubberBand;
class GUI_EXPORT QgsFilterTableFieldsDialog : public QDialog, private Ui::QgsFilterTableFieldsDialog
{
Q_OBJECT
public:
/**
* Constructor
* @param vl The concerned vector layer
* @param visible the current list of visible fields name
* @param parent parent object
* @param flags window flags
*/
QgsFilterTableFieldsDialog( const QgsVectorLayer* vl, QStringList visible, QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::Window );
/**
* Destructor
*/
~QgsFilterTableFieldsDialog();
/**
* Get the selected fields name
* @return The selected fields name
*/
QStringList selectedFields();
};
#endif

View File

@ -6,7 +6,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>837</width>
<width>1054</width>
<height>570</height>
</rect>
</property>
@ -14,16 +14,7 @@
<string>Attribute Table</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<property name="margin">
<number>0</number>
</property>
<property name="spacing">
@ -552,6 +543,29 @@
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="mFilterTableFields">
<property name="toolTip">
<string>Hide some fields</string>
</property>
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../images/images.qrc">
<normaloff>:/images/themes/default/mActionFilterTableFields.svg</normaloff>:/images/themes/default/mActionFilterTableFields.svg</iconset>
</property>
<property name="iconSize">
<size>
<width>18</width>
<height>18</height>
</size>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
@ -656,16 +670,7 @@
<property name="sizeConstraint">
<enum>QLayout::SetDefaultConstraint</enum>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<property name="margin">
<number>0</number>
</property>
<item row="0" column="0">

View File

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>QgsFilterTableFieldsDialog</class>
<widget class="QDialog" name="QgsFilterTableFieldsDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>240</width>
<height>219</height>
</rect>
</property>
<property name="windowTitle">
<string>Filter table column</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QListWidget" name="mFieldsList"/>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections>
<connection>
<sender>buttonBox</sender>
<signal>accepted()</signal>
<receiver>QgsFilterTableFieldsDialog</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>248</x>
<y>254</y>
</hint>
<hint type="destinationlabel">
<x>157</x>
<y>274</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonBox</sender>
<signal>rejected()</signal>
<receiver>QgsFilterTableFieldsDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>316</x>
<y>260</y>
</hint>
<hint type="destinationlabel">
<x>286</x>
<y>274</y>
</hint>
</hints>
</connection>
</connections>
</ui>