mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-14 00:07:35 -04:00
[FEATURE] Remove orphaned oracle raster plugin
Marked as feature to flag for documentation and changelog
This commit is contained in:
parent
a3faa92339
commit
77ae8a23b6
1
debian/qgis.install
vendored
1
debian/qgis.install
vendored
@ -1,7 +1,6 @@
|
||||
usr/lib/qgis/plugins/libgeorefplugin.so
|
||||
usr/lib/qgis/plugins/libgpsimporterplugin.so
|
||||
usr/lib/qgis/plugins/libcoordinatecaptureplugin.so
|
||||
usr/lib/qgis/plugins/liboracleplugin.so
|
||||
usr/lib/qgis/plugins/libevis.so
|
||||
usr/lib/qgis/plugins/libspatialqueryplugin.so
|
||||
usr/lib/qgis/plugins/libofflineeditingplugin.so
|
||||
|
@ -386,7 +386,6 @@ tar -C %OSGEO4W_ROOT% -cjf %ARCH%/release/qgis/%PACKAGENAME%/%PACKAGENAME%-%VERS
|
||||
"apps/%PACKAGENAME%/plugins/georefplugin.dll" ^
|
||||
"apps/%PACKAGENAME%/plugins/gpsimporterplugin.dll" ^
|
||||
"apps/%PACKAGENAME%/plugins/offlineeditingplugin.dll" ^
|
||||
"apps/%PACKAGENAME%/plugins/oracleplugin.dll" ^
|
||||
"apps/%PACKAGENAME%/plugins/spatialqueryplugin.dll" ^
|
||||
"apps/%PACKAGENAME%/plugins/topolplugin.dll" ^
|
||||
"apps/%PACKAGENAME%/plugins/geometrycheckerplugin.dll" ^
|
||||
|
@ -15,7 +15,6 @@ WriteRegStr HKEY_CURRENT_USER "Software\QGIS\QGIS3\Plugins" "globeplugin" "false
|
||||
WriteRegStr HKEY_CURRENT_USER "Software\QGIS\QGIS3\Plugins" "gpsimporterplugin" "true"
|
||||
WriteRegStr HKEY_CURRENT_USER "Software\QGIS\QGIS3\Plugins" "grassplugin" "true"
|
||||
WriteRegStr HKEY_CURRENT_USER "Software\QGIS\QGIS3\Plugins" "offlineeditingplugin" "true"
|
||||
WriteRegStr HKEY_CURRENT_USER "Software\QGIS\QGIS3\Plugins" "oracleplugin" "true"
|
||||
WriteRegStr HKEY_CURRENT_USER "Software\QGIS\QGIS3\Plugins" "spatialqueryplugin" "true"
|
||||
WriteRegStr HKEY_CURRENT_USER "Software\QGIS\QGIS3\Plugins" "topolplugin" "true"
|
||||
|
||||
|
@ -6,7 +6,6 @@ ENDIF()
|
||||
SET (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${QGIS_OUTPUT_DIRECTORY}/${QGIS_PLUGIN_SUBDIR})
|
||||
SET (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${QGIS_OUTPUT_DIRECTORY}/${QGIS_PLUGIN_SUBDIR})
|
||||
|
||||
ADD_SUBDIRECTORY(oracle_raster)
|
||||
ADD_SUBDIRECTORY(coordinate_capture)
|
||||
ADD_SUBDIRECTORY(evis)
|
||||
ADD_SUBDIRECTORY(spatialquery)
|
||||
|
@ -1,57 +0,0 @@
|
||||
|
||||
########################################################
|
||||
# Files
|
||||
|
||||
SET (ORACLE_SRCS
|
||||
qgsoracle_plugin.cpp
|
||||
qgsselectgeoraster_ui.cpp
|
||||
qgsoracleconnect_ui.cpp
|
||||
)
|
||||
|
||||
SET (ORACLE_UIS
|
||||
qgsselectgeorasterbase.ui
|
||||
qgsoracleconnectbase.ui
|
||||
)
|
||||
|
||||
SET (ORACLE_MOC_HDRS
|
||||
qgsoracle_plugin.h
|
||||
qgsselectgeoraster_ui.h
|
||||
qgsoracleconnect_ui.h
|
||||
)
|
||||
|
||||
SET (ORACLE_RCCS oracleplugin.qrc)
|
||||
|
||||
########################################################
|
||||
# Build
|
||||
|
||||
QT5_WRAP_UI (ORACLE_UIS_H ${ORACLE_UIS})
|
||||
|
||||
QT5_WRAP_CPP (ORACLE_MOC_SRCS ${ORACLE_MOC_HDRS})
|
||||
|
||||
QT5_ADD_RESOURCES(ORACLE_RCC_SRCS ${ORACLE_RCCS})
|
||||
|
||||
ADD_LIBRARY (oracleplugin MODULE ${ORACLE_SRCS} ${ORACLE_MOC_SRCS} ${ORACLE_RCC_SRCS} ${ORACLE_UIS_H})
|
||||
|
||||
INCLUDE_DIRECTORIES(
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
../../core ../../core/geometry ../../core/raster
|
||||
../../gui
|
||||
..
|
||||
)
|
||||
INCLUDE_DIRECTORIES( SYSTEM
|
||||
${GDAL_INCLUDE_DIR}
|
||||
)
|
||||
|
||||
TARGET_LINK_LIBRARIES(oracleplugin
|
||||
qgis_core
|
||||
qgis_gui
|
||||
)
|
||||
|
||||
|
||||
########################################################
|
||||
# Install
|
||||
|
||||
INSTALL(TARGETS oracleplugin
|
||||
RUNTIME DESTINATION ${QGIS_PLUGIN_DIR}
|
||||
LIBRARY DESTINATION ${QGIS_PLUGIN_DIR})
|
||||
|
@ -1,5 +0,0 @@
|
||||
<RCC>
|
||||
<qresource prefix="/oracleplugin/" >
|
||||
<file>oracleraster.svg</file>
|
||||
</qresource>
|
||||
</RCC>
|
@ -1,377 +0,0 @@
|
||||
<?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="24"
|
||||
height="24"
|
||||
id="svg5692"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.3.1 r9886"
|
||||
sodipodi:docname="oracleraster.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" />
|
||||
<pattern
|
||||
patternUnits="userSpaceOnUse"
|
||||
width="25.999994"
|
||||
height="25.999999"
|
||||
patternTransform="translate(-26.390194,4.7313728)"
|
||||
id="pattern4576">
|
||||
<rect
|
||||
y="0"
|
||||
x="6.4999981"
|
||||
height="6.499999"
|
||||
width="6.499999"
|
||||
id="rect6419"
|
||||
style="fill:#6e97c4;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" />
|
||||
<rect
|
||||
inkscape:transform-center-y="-4.3333322"
|
||||
inkscape:transform-center-x="-3.2499991"
|
||||
y="6.5"
|
||||
x="6.4999981"
|
||||
height="6.499999"
|
||||
width="6.499999"
|
||||
id="rect6419-6-9"
|
||||
style="fill:#253e5b;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" />
|
||||
<rect
|
||||
y="0"
|
||||
x="0"
|
||||
height="6.499999"
|
||||
width="6.499999"
|
||||
id="rect6419-6-7"
|
||||
style="fill:#253e5b;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" />
|
||||
<rect
|
||||
y="6.5"
|
||||
x="0"
|
||||
height="6.499999"
|
||||
width="6.499999"
|
||||
id="rect6419-3"
|
||||
style="fill:#6d97c4;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" />
|
||||
<rect
|
||||
y="0"
|
||||
x="19.499996"
|
||||
height="6.499999"
|
||||
width="6.499999"
|
||||
id="rect6419-8"
|
||||
style="fill:#6e97c4;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" />
|
||||
<rect
|
||||
inkscape:transform-center-y="-4.3333322"
|
||||
inkscape:transform-center-x="-3.2499991"
|
||||
y="6.5"
|
||||
x="19.499996"
|
||||
height="6.499999"
|
||||
width="6.499999"
|
||||
id="rect6419-6-9-8"
|
||||
style="fill:#253e5b;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" />
|
||||
<rect
|
||||
y="0"
|
||||
x="12.999997"
|
||||
height="6.499999"
|
||||
width="6.499999"
|
||||
id="rect6419-6-7-5"
|
||||
style="fill:#253e5b;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" />
|
||||
<rect
|
||||
y="6.5"
|
||||
x="12.999997"
|
||||
height="6.499999"
|
||||
width="6.499999"
|
||||
id="rect6419-3-7"
|
||||
style="fill:#6d97c4;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" />
|
||||
<rect
|
||||
y="13"
|
||||
x="6.4999981"
|
||||
height="6.499999"
|
||||
width="6.499999"
|
||||
id="rect6419-1"
|
||||
style="fill:#6e97c4;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" />
|
||||
<rect
|
||||
inkscape:transform-center-y="-4.3333322"
|
||||
inkscape:transform-center-x="-3.2499991"
|
||||
y="19.499998"
|
||||
x="6.4999981"
|
||||
height="6.499999"
|
||||
width="6.499999"
|
||||
id="rect6419-6-9-5"
|
||||
style="fill:#253e5b;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" />
|
||||
<rect
|
||||
y="13"
|
||||
x="0"
|
||||
height="6.499999"
|
||||
width="6.499999"
|
||||
id="rect6419-6-7-0"
|
||||
style="fill:#253e5b;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" />
|
||||
<rect
|
||||
y="19.499998"
|
||||
x="0"
|
||||
height="6.499999"
|
||||
width="6.499999"
|
||||
id="rect6419-3-76"
|
||||
style="fill:#6d97c4;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" />
|
||||
<rect
|
||||
y="13"
|
||||
x="19.499996"
|
||||
height="6.499999"
|
||||
width="6.499999"
|
||||
id="rect6419-0"
|
||||
style="fill:#6e97c4;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" />
|
||||
<rect
|
||||
inkscape:transform-center-y="-4.3333322"
|
||||
inkscape:transform-center-x="-3.2499991"
|
||||
y="19.5"
|
||||
x="19.499996"
|
||||
height="6.499999"
|
||||
width="6.499999"
|
||||
id="rect6419-6-9-4"
|
||||
style="fill:#253e5b;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" />
|
||||
<rect
|
||||
y="13"
|
||||
x="12.999997"
|
||||
height="6.499999"
|
||||
width="6.499999"
|
||||
id="rect6419-6-7-3"
|
||||
style="fill:#253e5b;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" />
|
||||
<rect
|
||||
y="19.5"
|
||||
x="12.999997"
|
||||
height="6.499999"
|
||||
width="6.499999"
|
||||
id="rect6419-3-1"
|
||||
style="fill:#6d97c4;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" />
|
||||
</pattern>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="15.9375"
|
||||
inkscape:cx="9.2426579"
|
||||
inkscape:cy="11.376563"
|
||||
inkscape:current-layer="layer2"
|
||||
showgrid="true"
|
||||
inkscape:grid-bbox="true"
|
||||
inkscape:document-units="px"
|
||||
borderlayer="false"
|
||||
inkscape:window-width="1382"
|
||||
inkscape:window-height="852"
|
||||
inkscape:window-x="382"
|
||||
inkscape:window-y="67"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:snap-global="true"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true"
|
||||
inkscape:snap-object-midpoints="false"
|
||||
inkscape:snap-grids="false"
|
||||
inkscape:object-paths="false"
|
||||
inkscape:snap-bbox="false"
|
||||
inkscape:bbox-nodes="true">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid5700"
|
||||
empspacing="5"
|
||||
visible="true"
|
||||
enabled="true"
|
||||
snapvisiblegridlinesonly="true"
|
||||
dotted="true"
|
||||
originx="2.5px"
|
||||
originy="2.5px" />
|
||||
</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,-8)">
|
||||
<path
|
||||
style="fill:#7799c8;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline"
|
||||
d="m 8.1659017,11.633061 6.4029223,0 0,6.128008 -6.4029223,0 z"
|
||||
id="rect3249"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#233854;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline"
|
||||
inkscape:transform-center-x="-3.2014611"
|
||||
inkscape:transform-center-y="-4.0853379"
|
||||
d="m 8.1659017,17.761072 6.4029223,0 0,6.128007 -6.4029223,0 z"
|
||||
id="rect3251"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#233854;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline"
|
||||
d="m 2.6589294,12.448714 5.5069734,-0.815653 0,6.128008 -6.4029231,0 z"
|
||||
id="rect3253"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
<path
|
||||
style="fill:#7799c8;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline"
|
||||
d="m 1.7629797,17.761072 6.4029231,0 0,6.128007 -5.3977112,-0.752911 z"
|
||||
id="rect3255"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
<path
|
||||
style="fill:#233854;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline"
|
||||
d="m 14.568823,11.633061 5.288449,0.89931 1.114474,5.228698 -6.402923,0 z"
|
||||
id="rect3261"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
<path
|
||||
style="fill:#7799c8;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline"
|
||||
d="m 14.568823,17.761072 6.402923,0 -1.267441,5.479668 -5.135482,0.648339 z"
|
||||
id="rect3263"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
<rect
|
||||
style="fill:none;stroke:#3a5d8c;stroke-width:1.47500002;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:2.4"
|
||||
id="rect6415"
|
||||
width="18.52524"
|
||||
height="12.897"
|
||||
x="1.9805"
|
||||
y="11.34426"
|
||||
rx="5"
|
||||
ry="4"
|
||||
inkscape:export-filename="/home/denis/Desktop/rect6415.png"
|
||||
inkscape:export-xdpi="67.5"
|
||||
inkscape:export-ydpi="67.5" />
|
||||
<g
|
||||
style="display:inline"
|
||||
id="g3772"
|
||||
transform="matrix(0.69230769,0,0,0.69230769,1.8461539,9.8461539)">
|
||||
<rect
|
||||
ry="2.6149368"
|
||||
inkscape:export-ydpi="120"
|
||||
inkscape:export-xdpi="120"
|
||||
y="19"
|
||||
x="19"
|
||||
height="13"
|
||||
width="13"
|
||||
id="rect3563"
|
||||
style="fill:#5a8c5a;fill-opacity:1;stroke:#555753;stroke-width:0;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
|
||||
inkscape:export-filename="C:\Program Files\QGIS-Dev\themes\gis-0.1\mActionAddOgrLayer.png"
|
||||
rx="2.6149371" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.5999999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
d="m 21.6,25.499999 7.8,0"
|
||||
id="path3807"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3809"
|
||||
d="M 25.5,29.399999 25.5,21.6"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.5999999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccsssc"
|
||||
id="path6992"
|
||||
d="m 20.3,25.499999 10.4,0 c 0,0 0,0 0,-2.6 C 30.7,20.3 30.05,20.3 25.5,20.3 c -4.55,0 -5.2,0 -5.2,2.599999 0,2.6 0,2.6 0,2.6 z"
|
||||
style="opacity:0.3;fill:#fcffff;fill-rule:evenodd;stroke:none;display:inline;enable-background:new" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 13 KiB |
@ -1,170 +0,0 @@
|
||||
/***************************************************************************
|
||||
oracleplugin.cpp Access Oracle Spatial Plugin
|
||||
-------------------
|
||||
begin : Oracle Spatial Plugin
|
||||
copyright : (C) Ivan Lucena
|
||||
email : ivan.lucena@pmldnet.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 "qgsoracle_plugin.h"
|
||||
#include "qgsselectgeoraster_ui.h"
|
||||
|
||||
#include <QMenu>
|
||||
|
||||
static const QString sName = QObject::tr( "Oracle Spatial GeoRaster" );
|
||||
static const QString sDescription = QObject::tr( "Access Oracle Spatial GeoRaster" );
|
||||
static const QString sCategory = QObject::tr( "Layers" );
|
||||
static const QString sPluginVersion = QObject::tr( "Version 0.1" );
|
||||
static const QgisPlugin::PLUGINTYPE sPluginType = QgisPlugin::UI;
|
||||
static const QString sPluginIcon = QStringLiteral( ":/oracleplugin/oracleraster.svg" );
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// THE FOLLOWING METHODS ARE MANDATORY FOR ALL PLUGINS
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
/**
|
||||
* Constructor for the plugin. The plugin is passed a pointer
|
||||
* an interface object that provides access to exposed functions in QGIS.
|
||||
* @param theQGisInterface - Pointer to the QGIS interface object
|
||||
*/
|
||||
QgsOraclePlugin::QgsOraclePlugin( QgisInterface * theQgisInterface )
|
||||
: QgisPlugin( sName, sDescription, sCategory, sPluginVersion, sPluginType )
|
||||
, mQGisIface( theQgisInterface )
|
||||
, mQActionPointer( nullptr )
|
||||
{
|
||||
}
|
||||
|
||||
QgsOraclePlugin::~QgsOraclePlugin()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Initialize the GUI interface for the plugin - this is only called once when the plugin is
|
||||
* added to the plugin registry in the QGIS application.
|
||||
*/
|
||||
void QgsOraclePlugin::initGui()
|
||||
{
|
||||
// Create the action for tool
|
||||
mQActionPointer = new QAction( QIcon( ":/oracleplugin/oracleraster.svg" ), tr( "Add Oracle GeoRaster Layer..." ), this );
|
||||
mQActionPointer->setObjectName( QStringLiteral( "mQActionPointer" ) );
|
||||
// Set the what's this text
|
||||
mQActionPointer->setWhatsThis( tr( "Add a Oracle Spatial GeoRaster..." ) );
|
||||
// Connect the action to the run
|
||||
connect( mQActionPointer, SIGNAL( triggered() ), this, SLOT( run() ) );
|
||||
|
||||
// Add the icon to the new layers toolbar
|
||||
mQGisIface->layerToolBar()->insertAction( mQGisIface->actionAddWmsLayer(), mQActionPointer );
|
||||
// Also add to Layer menu
|
||||
mQGisIface->insertAddLayerAction( mQActionPointer );
|
||||
}
|
||||
//method defined in interface
|
||||
|
||||
void QgsOraclePlugin::help()
|
||||
{
|
||||
//implement me!
|
||||
}
|
||||
|
||||
// Slot called when the menu item is triggered
|
||||
// If you created more menu items / toolbar buttons in initiGui, you should
|
||||
// create a separate handler for each action - this single run() method will
|
||||
// not be enough
|
||||
|
||||
void QgsOraclePlugin::run()
|
||||
{
|
||||
QgsOracleSelectGeoraster *myPluginGui = new QgsOracleSelectGeoraster( mQGisIface->mainWindow(), mQGisIface, QgisGui::ModalDialogFlags );
|
||||
myPluginGui->setAttribute( Qt::WA_DeleteOnClose );
|
||||
|
||||
myPluginGui->show();
|
||||
}
|
||||
|
||||
// Unload the plugin by cleaning up the GUI
|
||||
|
||||
void QgsOraclePlugin::unload()
|
||||
{
|
||||
// remove the GUI
|
||||
mQGisIface->layerToolBar()->removeAction( mQActionPointer );
|
||||
mQGisIface->removeAddLayerAction( mQActionPointer );
|
||||
delete mQActionPointer;
|
||||
mQActionPointer = nullptr;
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
//
|
||||
// THE FOLLOWING CODE IS AUTOGENERATED BY THE PLUGIN BUILDER SCRIPT
|
||||
// YOU WOULD NORMALLY NOT NEED TO MODIFY THIS, AND YOUR PLUGIN
|
||||
// MAY NOT WORK PROPERLY IF YOU MODIFY THIS INCORRECTLY
|
||||
//
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
/**
|
||||
* Required extern functions needed for every plugin
|
||||
* These functions can be called prior to creating an instance
|
||||
* of the plugin class
|
||||
*/
|
||||
// Class factory to return a new instance of the plugin class
|
||||
|
||||
QGISEXTERN QgisPlugin * classFactory( QgisInterface * theQgisInterfacePointer )
|
||||
{
|
||||
return new QgsOraclePlugin( theQgisInterfacePointer );
|
||||
}
|
||||
// Return the name of the plugin - note that we do not user class members as
|
||||
// the class may not yet be insantiated when this method is called.
|
||||
|
||||
QGISEXTERN QString name()
|
||||
{
|
||||
return sName;
|
||||
}
|
||||
|
||||
// Return the description
|
||||
|
||||
QGISEXTERN QString description()
|
||||
{
|
||||
return sDescription;
|
||||
}
|
||||
|
||||
// Return the description
|
||||
|
||||
QGISEXTERN QString category()
|
||||
{
|
||||
return sCategory;
|
||||
}
|
||||
|
||||
// Return the type (either UI or MapLayer plugin)
|
||||
|
||||
QGISEXTERN int type()
|
||||
{
|
||||
return sPluginType;
|
||||
}
|
||||
|
||||
// Return the version number for the plugin
|
||||
|
||||
QGISEXTERN QString version()
|
||||
{
|
||||
return sPluginVersion;
|
||||
}
|
||||
|
||||
QGISEXTERN QString icon()
|
||||
{
|
||||
return sPluginIcon;
|
||||
}
|
||||
|
||||
// Delete ourself
|
||||
|
||||
QGISEXTERN void unload( QgisPlugin * thePluginPointer )
|
||||
{
|
||||
delete thePluginPointer;
|
||||
}
|
@ -1,64 +0,0 @@
|
||||
/***************************************************************************
|
||||
oracleplugin.h
|
||||
-------------------
|
||||
begin : Oracle Spatial Plugin
|
||||
copyright : (C) Ivan Lucena
|
||||
email : ivan.lucena@pmldnet.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 OraclePlugin_H
|
||||
#define OraclePlugin_H
|
||||
|
||||
// Qt Includes
|
||||
#include <QObject>
|
||||
#include <QAction>
|
||||
#include <QToolBar>
|
||||
|
||||
// QGIS Includes
|
||||
#include <qgisplugin.h>
|
||||
#include <qgisinterface.h>
|
||||
#include <qgisgui.h>
|
||||
|
||||
class QgsOraclePlugin : public QObject, public QgisPlugin
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
|
||||
/**
|
||||
* Constructor for a plugin. The QgisInterface pointer is passed by
|
||||
* QGIS when it attempts to instantiate the plugin.
|
||||
* @param theInterface Pointer to the QgisInterface object.
|
||||
*/
|
||||
explicit QgsOraclePlugin( QgisInterface * theInterface );
|
||||
//! Destructor
|
||||
virtual ~QgsOraclePlugin();
|
||||
|
||||
public slots:
|
||||
|
||||
//! init the gui
|
||||
virtual void initGui() override;
|
||||
//! Show the dialog box
|
||||
void run();
|
||||
//! unload the plugin
|
||||
void unload() override;
|
||||
//! show the help document
|
||||
void help();
|
||||
|
||||
private:
|
||||
|
||||
//! Pointer to the QGIS interface object
|
||||
QgisInterface *mQGisIface;
|
||||
//!pointer to the qaction for this plugin
|
||||
QAction * mQActionPointer;
|
||||
|
||||
};
|
||||
|
||||
#endif //OraclePlugin_H
|
@ -1,91 +0,0 @@
|
||||
/***************************************************************************
|
||||
oracleconnectgui.cpp
|
||||
-------------------
|
||||
begin : Oracle Spatial Plugin
|
||||
copyright : (C) Ivan Lucena
|
||||
email : ivan.lucena@pmldnet.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 "qgsoracleconnect_ui.h"
|
||||
|
||||
// Qt Includes
|
||||
#include <QSettings>
|
||||
#include <QMessageBox>
|
||||
|
||||
QgsOracleConnect::QgsOracleConnect( QWidget* parent,
|
||||
const QString& connName,
|
||||
Qt::WindowFlags fl ) : QDialog( parent, fl )
|
||||
{
|
||||
setupUi( this );
|
||||
|
||||
if ( ! connName.isEmpty() )
|
||||
{
|
||||
// populate the dialog with the information stored for the connection
|
||||
// populate the fields with the stored setting parameters
|
||||
|
||||
QSettings settings;
|
||||
|
||||
QString key = "/Oracle/connections/" + connName;
|
||||
|
||||
txtDatabase->setText( settings.value( key + "/database" ).toString() );
|
||||
txtUsername->setText( settings.value( key + "/username" ).toString() );
|
||||
|
||||
if ( settings.value( key + "/savepass" ).toString() == QLatin1String( "true" ) )
|
||||
{
|
||||
txtPassword->setText( settings.value( key + "/password" ).toString() );
|
||||
chkStorePassword->setChecked( true );
|
||||
}
|
||||
txtName->setText( connName );
|
||||
}
|
||||
}
|
||||
|
||||
QgsOracleConnect::~QgsOracleConnect()
|
||||
{
|
||||
}
|
||||
|
||||
void QgsOracleConnect::on_buttonBox_rejected()
|
||||
{
|
||||
// cancel button mapped to context help - changed this to close the
|
||||
// dialog instead. If context help is to be added, a Help button
|
||||
// is required. - gsherman
|
||||
// helpInfo();
|
||||
reject();
|
||||
}
|
||||
|
||||
void QgsOracleConnect::on_buttonBox_accepted()
|
||||
{
|
||||
saveConnection();
|
||||
}
|
||||
|
||||
void QgsOracleConnect::saveConnection()
|
||||
{
|
||||
QSettings settings;
|
||||
|
||||
QString baseKey = QStringLiteral( "/Oracle/connections/" );
|
||||
|
||||
settings.setValue( baseKey + "selected", txtName->text() );
|
||||
baseKey += txtName->text();
|
||||
settings.setValue( baseKey + "/database", txtDatabase->text() );
|
||||
settings.setValue( baseKey + "/username", txtUsername->text() );
|
||||
settings.setValue( baseKey + "/password", txtPassword->text() );
|
||||
settings.setValue( baseKey + "/savepass", chkStorePassword->isChecked() ? "true" : "false" );
|
||||
settings.setValue( baseKey + "/subdtset", "GEOR:" +
|
||||
txtUsername->text() + '/' +
|
||||
txtPassword->text() + '@' +
|
||||
txtDatabase->text() );
|
||||
|
||||
accept();
|
||||
}
|
||||
|
||||
void QgsOracleConnect::helpInfo()
|
||||
{
|
||||
// QgsContextHelp::run( context_id );
|
||||
}
|
||||
|
@ -1,44 +0,0 @@
|
||||
/***************************************************************************
|
||||
oracleconnectgui.u
|
||||
-------------------
|
||||
begin : Oracle Spatial Plugin
|
||||
copyright : (C) Ivan Lucena
|
||||
email : ivan.lucena@pmldnet.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 QgsOracleConnect_H
|
||||
#define QgsOracleConnect_H
|
||||
|
||||
// Qt Designer Includes
|
||||
#include "ui_qgsoracleconnectbase.h"
|
||||
|
||||
// QGIS Includes
|
||||
#include <qgisgui.h>
|
||||
|
||||
class QgsOracleConnect : public QDialog, private Ui::OracleConnectGuiBase
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
QgsOracleConnect( QWidget* parent = nullptr,
|
||||
const QString& connName = QString::null,
|
||||
Qt::WindowFlags fl = QgisGui::ModalDialogFlags );
|
||||
~QgsOracleConnect();
|
||||
|
||||
private:
|
||||
void saveConnection();
|
||||
void helpInfo();
|
||||
|
||||
public slots:
|
||||
void on_buttonBox_accepted();
|
||||
void on_buttonBox_rejected();
|
||||
};
|
||||
|
||||
#endif /* _ORACLECONNECTGUI_H */
|
@ -1,109 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>OracleConnectGuiBase</class>
|
||||
<widget class="QDialog" name="OracleConnectGuiBase">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>318</width>
|
||||
<height>213</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Create Oracle Connection</string>
|
||||
</property>
|
||||
<property name="windowIcon">
|
||||
<iconset>
|
||||
<normaloff/>
|
||||
</iconset>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="TextLabel1_2">
|
||||
<property name="text">
|
||||
<string>Name</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>txtName</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLineEdit" name="txtName">
|
||||
<property name="toolTip">
|
||||
<string>Name of the new connection</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="TextLabel2">
|
||||
<property name="text">
|
||||
<string>Database instance</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>txtDatabase</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="txtDatabase"/>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="TextLabel3">
|
||||
<property name="text">
|
||||
<string>Username</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>txtUsername</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLineEdit" name="txtUsername"/>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="TextLabel3_2">
|
||||
<property name="text">
|
||||
<string>Password</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>txtPassword</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QLineEdit" name="txtPassword">
|
||||
<property name="echoMode">
|
||||
<enum>QLineEdit::Password</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QCheckBox" name="chkStorePassword">
|
||||
<property name="text">
|
||||
<string>Save Password</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0" colspan="2">
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<layoutdefault spacing="6" margin="11"/>
|
||||
<tabstops>
|
||||
<tabstop>txtName</tabstop>
|
||||
<tabstop>txtDatabase</tabstop>
|
||||
<tabstop>txtUsername</tabstop>
|
||||
<tabstop>txtPassword</tabstop>
|
||||
<tabstop>chkStorePassword</tabstop>
|
||||
<tabstop>buttonBox</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
@ -1,335 +0,0 @@
|
||||
/***************************************************************************
|
||||
oracleselectgui.cpp
|
||||
-------------------
|
||||
begin : Oracle Spatial Plugin
|
||||
copyright : (C) Ivan Lucena
|
||||
email : ivan.lucena@pmldnet.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 "qgsselectgeoraster_ui.h"
|
||||
#include "qgsoracleconnect_ui.h"
|
||||
|
||||
//GDAL includes
|
||||
|
||||
#include "gdal.h"
|
||||
#include "ogr_api.h"
|
||||
#include "ogrsf_frmts.h"
|
||||
#include <cpl_string.h>
|
||||
|
||||
#include "qgsvectorlayer.h"
|
||||
|
||||
#if defined(GDAL_VERSION_NUM) && GDAL_VERSION_NUM >= 1800
|
||||
#define TO8F(x) (x).toUtf8().constData()
|
||||
#else
|
||||
#define TO8F(x) QFile::encodeName( x ).constData()
|
||||
#endif
|
||||
|
||||
QgsOracleSelectGeoraster::QgsOracleSelectGeoraster( QWidget* parent,
|
||||
QgisInterface* iface,
|
||||
Qt::WindowFlags fl )
|
||||
: QDialog( parent, fl )
|
||||
, mIface( iface )
|
||||
{
|
||||
setupUi( this );
|
||||
|
||||
/*
|
||||
* Load the list of connection from the registry
|
||||
*/
|
||||
|
||||
populateConnectionList();
|
||||
|
||||
/*
|
||||
* Repeat last selected connection
|
||||
*/
|
||||
|
||||
QSettings settings;
|
||||
QString selected = settings.value( QStringLiteral( "/Oracle/connections/selected" ) ).toString();
|
||||
|
||||
restoreGeometry( settings.value( QStringLiteral( "/Oracle/geometry" ) ).toByteArray() );
|
||||
|
||||
cmbConnections->setCurrentIndex( cmbConnections->findText( selected ) );
|
||||
if ( selected == cmbConnections->currentText() )
|
||||
{
|
||||
connectToServer();
|
||||
}
|
||||
}
|
||||
|
||||
QgsOracleSelectGeoraster::~QgsOracleSelectGeoraster()
|
||||
{
|
||||
QSettings settings;
|
||||
settings.setValue( QStringLiteral( "/Oracle/geometry" ), saveGeometry() );
|
||||
settings.setValue( QStringLiteral( "/Oracle/connections/selected" ), cmbConnections->currentText() );
|
||||
}
|
||||
|
||||
void QgsOracleSelectGeoraster::populateConnectionList()
|
||||
{
|
||||
QSettings settings;
|
||||
settings.beginGroup( QStringLiteral( "/Oracle/connections" ) );
|
||||
QStringList keys = settings.childGroups();
|
||||
QStringList::Iterator it = keys.begin();
|
||||
|
||||
/*
|
||||
* Fillup the combobox with connection names
|
||||
*/
|
||||
|
||||
cmbConnections->clear();
|
||||
while ( it != keys.end() )
|
||||
{
|
||||
cmbConnections->addItem( *it );
|
||||
++it;
|
||||
}
|
||||
settings.endGroup();
|
||||
setConnectionListPosition();
|
||||
|
||||
/*
|
||||
* Update the status of several buttons
|
||||
*/
|
||||
|
||||
if ( keys.begin() == keys.end() )
|
||||
{
|
||||
btnConnect->setEnabled( false );
|
||||
btnEdit->setEnabled( false );
|
||||
btnDelete->setEnabled( false );
|
||||
}
|
||||
else
|
||||
{
|
||||
btnConnect->setEnabled( true );
|
||||
btnEdit->setEnabled( true );
|
||||
btnDelete->setEnabled( true );
|
||||
}
|
||||
}
|
||||
|
||||
void QgsOracleSelectGeoraster::on_btnNew_clicked()
|
||||
{
|
||||
QgsOracleConnect *oc = new QgsOracleConnect( this, QStringLiteral( "New Connection" ) );
|
||||
if ( oc->exec() )
|
||||
{
|
||||
populateConnectionList();
|
||||
}
|
||||
}
|
||||
|
||||
void QgsOracleSelectGeoraster::on_btnEdit_clicked()
|
||||
{
|
||||
QgsOracleConnect *oc = new QgsOracleConnect( this, cmbConnections->currentText() );
|
||||
if ( oc->exec() )
|
||||
{
|
||||
populateConnectionList();
|
||||
}
|
||||
}
|
||||
|
||||
void QgsOracleSelectGeoraster::on_btnDelete_clicked()
|
||||
{
|
||||
QSettings settings;
|
||||
QString key = "/Oracle/connections/" + cmbConnections->currentText();
|
||||
QString msg = tr( "Are you sure you want to remove the %1 connection and all associated settings?" )
|
||||
.arg( cmbConnections->currentText() );
|
||||
QMessageBox::StandardButton result = QMessageBox::information( this,
|
||||
tr( "Confirm Delete" ),
|
||||
msg,
|
||||
QMessageBox::Ok | QMessageBox::Cancel );
|
||||
if ( result == QMessageBox::Ok )
|
||||
{
|
||||
settings.remove( key + "/database" );
|
||||
settings.remove( key + "/username" );
|
||||
settings.remove( key + "/password" );
|
||||
settings.remove( key + "/savepass" );
|
||||
settings.remove( key + "/subdtset" );
|
||||
settings.remove( key );
|
||||
cmbConnections->removeItem( cmbConnections->currentIndex() );
|
||||
setConnectionListPosition();
|
||||
lineEdit->setText( QLatin1String( "" ) );
|
||||
listWidget->clear();
|
||||
}
|
||||
}
|
||||
|
||||
void QgsOracleSelectGeoraster::connectToServer()
|
||||
{
|
||||
if ( cmbConnections->currentText().isEmpty() )
|
||||
return;
|
||||
|
||||
QSettings settings;
|
||||
QString key = "/Oracle/connections/" + cmbConnections->currentText();
|
||||
QString username = settings.value( key + "/username" ).toString();
|
||||
QString savepass = settings.value( key + "/savepass" ).toString();
|
||||
QString database = settings.value( key + "/database" ).toString();
|
||||
QString subdtset = settings.value( key + "/subdtset" ).toString();
|
||||
bool makeConnection = true;
|
||||
if ( savepass == QLatin1String( "false" ) )
|
||||
{
|
||||
makeConnection = false;
|
||||
( void )QInputDialog::getText( this,
|
||||
tr( "Password for %1/<password>@%2" ).arg( username, database ),
|
||||
tr( "Please enter your password:" ),
|
||||
QLineEdit::Password,
|
||||
QString::null,
|
||||
&makeConnection );
|
||||
}
|
||||
if ( makeConnection )
|
||||
{
|
||||
settings.setValue( QStringLiteral( "/Oracle/connections/selected" ),
|
||||
cmbConnections->currentText() );
|
||||
showSelection( subdtset );
|
||||
lineEdit->setText( subdtset );
|
||||
}
|
||||
}
|
||||
|
||||
void QgsOracleSelectGeoraster::showSelection( const QString & line )
|
||||
{
|
||||
QString identification = line;
|
||||
|
||||
GDALDatasetH hDS = nullptr;
|
||||
GDALAccess eAccess = GA_ReadOnly;
|
||||
|
||||
/*
|
||||
* Set access mode
|
||||
*/
|
||||
|
||||
if ( checkBox->checkState() == Qt::Checked )
|
||||
{
|
||||
eAccess = GA_Update;
|
||||
}
|
||||
|
||||
/*
|
||||
* Try to open georaster dataset
|
||||
*/
|
||||
|
||||
hDS = GDALOpenShared( TO8F( identification ), eAccess );
|
||||
|
||||
buttonBox->button( QDialogButtonBox::Ok )->setEnabled( false );
|
||||
if ( !hDS )
|
||||
{
|
||||
QMessageBox::information( this,
|
||||
tr( "Open failed" ),
|
||||
tr( "The connection to %1 failed. Please verify your connection parameters. Make sure you have the GDAL GeoRaster plugin installed." )
|
||||
.arg( identification ) );
|
||||
return;
|
||||
}
|
||||
buttonBox->button( QDialogButtonBox::Ok )->setEnabled( true );
|
||||
|
||||
/*
|
||||
* Get subdataset list
|
||||
*/
|
||||
|
||||
char **papszMetadata = nullptr;
|
||||
papszMetadata = GDALGetMetadata( hDS, "SUBDATASETS" );
|
||||
int nSubDatasets = CSLCount( papszMetadata );
|
||||
|
||||
/*
|
||||
* Add GeoRaster Layer
|
||||
*/
|
||||
|
||||
if ( ! nSubDatasets )
|
||||
{
|
||||
mIface->addRasterLayer( identification );
|
||||
GDALClose( hDS );
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* Save subdataset
|
||||
*/
|
||||
|
||||
QSettings settings;
|
||||
settings.setValue( "/Oracle/connections/" +
|
||||
cmbConnections->currentText() + "/subdtset", identification );
|
||||
|
||||
/*
|
||||
* List subdatasets
|
||||
*/
|
||||
|
||||
QStringList fields = identification.split( ',' );
|
||||
QString count = QString::number( nSubDatasets / 2 );
|
||||
|
||||
QString plural = QStringLiteral( "s" );
|
||||
|
||||
if ( count == QLatin1String( "1" ) )
|
||||
{
|
||||
plural = QLatin1String( "" );
|
||||
}
|
||||
|
||||
if ( fields.size() < 4 )
|
||||
{
|
||||
labelStatus->setText( QStringLiteral( "%1 GeoRaster table%2" )
|
||||
.arg( count, plural ) );
|
||||
checkBox->setEnabled( false );
|
||||
}
|
||||
else if ( fields.size() == 4 )
|
||||
{
|
||||
labelStatus->setText( QStringLiteral( "%1 GeoRaster column%2 on table %3" )
|
||||
.arg( count, plural, fields[3] ) );
|
||||
checkBox->setEnabled( false );
|
||||
}
|
||||
else if ( fields.size() == 5 )
|
||||
{
|
||||
labelStatus->setText( QStringLiteral( "%1 GeoRaster object%2 on table %3 column %4" )
|
||||
.arg( count, plural, fields[3], fields[4] ) );
|
||||
checkBox->setEnabled( true );
|
||||
}
|
||||
else
|
||||
{
|
||||
labelStatus->setText( QStringLiteral( "%1 GeoRaster object%2 on table %3 column %4 where %5" )
|
||||
.arg( count, plural, fields[3], fields[4], fields[5] ) );
|
||||
checkBox->setEnabled( true );
|
||||
}
|
||||
|
||||
/*
|
||||
* Populate selection list based on subdataset names
|
||||
*/
|
||||
|
||||
listWidget->clear();
|
||||
QListWidgetItem *textItem;
|
||||
|
||||
for ( int i = 0; i < nSubDatasets; i += 2 )
|
||||
{
|
||||
QString metadata = papszMetadata[i];
|
||||
QStringList subdataset = metadata.split( '=' );
|
||||
textItem = new QListWidgetItem( subdataset[1] );
|
||||
listWidget->addItem( textItem );
|
||||
}
|
||||
|
||||
GDALClose( hDS );
|
||||
}
|
||||
|
||||
void QgsOracleSelectGeoraster::on_listWidget_clicked( const QModelIndex& Index )
|
||||
{
|
||||
Q_UNUSED( Index );
|
||||
if ( lineEdit->text() == listWidget->currentItem()->text() )
|
||||
{
|
||||
showSelection( lineEdit->text() );
|
||||
}
|
||||
else
|
||||
{
|
||||
lineEdit->setText( listWidget->currentItem()->text() );
|
||||
}
|
||||
}
|
||||
|
||||
void QgsOracleSelectGeoraster::setConnectionListPosition()
|
||||
{
|
||||
// If possible, set the item currently displayed database
|
||||
QSettings settings;
|
||||
QString toSelect = settings.value( QStringLiteral( "/Oracle/connections/selected" ) ).toString();
|
||||
cmbConnections->setCurrentIndex( cmbConnections->findText( toSelect ) );
|
||||
|
||||
// If we couldn't find the stored item, but there are some,
|
||||
// default to the last item (this makes some sense when deleting
|
||||
// items as it allows the user to repeatidly click on delete to
|
||||
// remove a whole lot of items).
|
||||
if ( cmbConnections->currentIndex() == -1 && cmbConnections->count() > 0 )
|
||||
{
|
||||
// If toSelect is null, then the selected connection wasn't found
|
||||
// by QSettings, which probably means that this is the first time
|
||||
// the user has used qgis with database connections, so default to
|
||||
// the first in the list of connetions. Otherwise default to the last.
|
||||
if ( toSelect.isNull() )
|
||||
cmbConnections->setCurrentIndex( 0 );
|
||||
else
|
||||
cmbConnections->setCurrentIndex( cmbConnections->count() - 1 );
|
||||
}
|
||||
}
|
@ -1,59 +0,0 @@
|
||||
/***************************************************************************
|
||||
oracleselectgui.h
|
||||
-------------------
|
||||
begin : Oracle Spatial Plugin
|
||||
copyright : (C) Ivan Lucena
|
||||
email : ivan.lucena@pmldnet.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 OraclePluginGUI_H
|
||||
#define OraclePluginGUI_H
|
||||
|
||||
// Qt Designer Includes
|
||||
#include "ui_qgsselectgeorasterbase.h"
|
||||
|
||||
//Qt includes
|
||||
#include <QSettings>
|
||||
#include <QMessageBox>
|
||||
#include <QInputDialog>
|
||||
|
||||
// QGIS Includes
|
||||
#include <qgisinterface.h>
|
||||
#include <qgsmapcanvas.h>
|
||||
#include "qgscontexthelp.h"
|
||||
|
||||
class QgsOracleSelectGeoraster : public QDialog, private Ui::SelectGeoRasterBase
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
QgsOracleSelectGeoraster( QWidget* parent, QgisInterface* iface, Qt::WindowFlags fl = 0 );
|
||||
~QgsOracleSelectGeoraster();
|
||||
|
||||
private:
|
||||
QgisInterface* mIface;
|
||||
QString mUri;
|
||||
|
||||
private:
|
||||
void populateConnectionList();
|
||||
void connectToServer();
|
||||
void setConnectionListPosition();
|
||||
void showSelection( const QString & line );
|
||||
|
||||
public slots:
|
||||
void on_btnConnect_clicked() { connectToServer(); }
|
||||
void on_btnNew_clicked();
|
||||
void on_btnEdit_clicked();
|
||||
void on_btnDelete_clicked();
|
||||
void on_listWidget_clicked( const QModelIndex& Index );
|
||||
void on_buttonBox_helpRequested() { QgsContextHelp::run( metaObject()->className() ); }
|
||||
};
|
||||
|
||||
#endif
|
@ -1,239 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>SelectGeoRasterBase</class>
|
||||
<widget class="QDialog" name="SelectGeoRasterBase">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>461</width>
|
||||
<height>454</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Select Oracle Spatial GeoRaster</string>
|
||||
</property>
|
||||
<property name="windowIcon">
|
||||
<iconset>
|
||||
<normaloff>../../ui</normaloff>../../ui</iconset>
|
||||
</property>
|
||||
<property name="sizeGripEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="modal">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<layout class="QGridLayout">
|
||||
<property name="margin">
|
||||
<number>9</number>
|
||||
</property>
|
||||
<property name="spacing">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<item row="0" column="0" colspan="2">
|
||||
<widget class="QGroupBox" name="GroupBox1">
|
||||
<property name="title">
|
||||
<string>Server Connections</string>
|
||||
</property>
|
||||
<layout class="QGridLayout">
|
||||
<property name="margin">
|
||||
<number>9</number>
|
||||
</property>
|
||||
<property name="spacing">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<item row="0" column="0" colspan="5">
|
||||
<widget class="QComboBox" name="cmbConnections"/>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QPushButton" name="btnEdit">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Edit</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
<widget class="QPushButton" name="btnDelete">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Delete</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QPushButton" name="btnNew">
|
||||
<property name="text">
|
||||
<string>&New</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QPushButton" name="btnConnect">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>C&onnect</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="4">
|
||||
<spacer>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Expanding</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>131</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="2">
|
||||
<widget class="QGroupBox" name="btnGrpImageEncoding">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>16</width>
|
||||
<height>64</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Subdatasets</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QListWidget" name="listWidget">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="autoFillBackground">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0" colspan="2">
|
||||
<widget class="QGroupBox" name="gbCRS">
|
||||
<property name="title">
|
||||
<string>Selection</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_1">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLineEdit" name="lineEdit"/>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QCheckBox" name="checkBox">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Update</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="labelCoordRefSys">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="labelStatus">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Ignored" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Ready</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<layoutdefault spacing="6" margin="11"/>
|
||||
<tabstops>
|
||||
<tabstop>cmbConnections</tabstop>
|
||||
<tabstop>btnConnect</tabstop>
|
||||
<tabstop>btnNew</tabstop>
|
||||
<tabstop>btnEdit</tabstop>
|
||||
<tabstop>btnDelete</tabstop>
|
||||
<tabstop>listWidget</tabstop>
|
||||
<tabstop>lineEdit</tabstop>
|
||||
<tabstop>checkBox</tabstop>
|
||||
<tabstop>buttonBox</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>accepted()</signal>
|
||||
<receiver>SelectGeoRasterBase</receiver>
|
||||
<slot>accept()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>378</x>
|
||||
<y>406</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>460</x>
|
||||
<y>372</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>rejected()</signal>
|
||||
<receiver>SelectGeoRasterBase</receiver>
|
||||
<slot>reject()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>297</x>
|
||||
<y>406</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>455</x>
|
||||
<y>434</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
Loading…
x
Reference in New Issue
Block a user