remove standalone browser
@ -762,7 +762,7 @@ ENDIF (APPLE)
|
||||
|
||||
# manual page - makes sense only on unix systems
|
||||
IF (UNIX AND NOT APPLE)
|
||||
INSTALL (FILES qgis.1 qbrowser.1 DESTINATION ${QGIS_MANUAL_DIR}/man1)
|
||||
INSTALL (FILES qgis.1 DESTINATION ${QGIS_MANUAL_DIR}/man1)
|
||||
ENDIF (UNIX AND NOT APPLE)
|
||||
|
||||
INSTALL(FILES cmake/FindQGIS.cmake DESTINATION ${QGIS_DATA_DIR})
|
||||
|
BIN
debian/icons/qbrowser-icon128x128.png
vendored
Before Width: | Height: | Size: 52 KiB |
BIN
debian/icons/qbrowser-icon16x16.png
vendored
Before Width: | Height: | Size: 1.9 KiB |
BIN
debian/icons/qbrowser-icon192x192.png
vendored
Before Width: | Height: | Size: 98 KiB |
BIN
debian/icons/qbrowser-icon22x22.png
vendored
Before Width: | Height: | Size: 3.0 KiB |
BIN
debian/icons/qbrowser-icon24x24.png
vendored
Before Width: | Height: | Size: 3.4 KiB |
BIN
debian/icons/qbrowser-icon256x256.png
vendored
Before Width: | Height: | Size: 156 KiB |
BIN
debian/icons/qbrowser-icon32x32.png
vendored
Before Width: | Height: | Size: 5.4 KiB |
BIN
debian/icons/qbrowser-icon36x36.png
vendored
Before Width: | Height: | Size: 6.6 KiB |
BIN
debian/icons/qbrowser-icon42x42.png
vendored
Before Width: | Height: | Size: 8.6 KiB |
BIN
debian/icons/qbrowser-icon48x48.png
vendored
Before Width: | Height: | Size: 11 KiB |
BIN
debian/icons/qbrowser-icon512x512.png
vendored
Before Width: | Height: | Size: 432 KiB |
BIN
debian/icons/qbrowser-icon64x64.png
vendored
Before Width: | Height: | Size: 17 KiB |
BIN
debian/icons/qbrowser-icon72x72.png
vendored
Before Width: | Height: | Size: 20 KiB |
BIN
debian/icons/qbrowser-icon80x80.png
vendored
Before Width: | Height: | Size: 24 KiB |
BIN
debian/icons/qbrowser-icon8x8.png
vendored
Before Width: | Height: | Size: 690 B |
BIN
debian/icons/qbrowser-icon96x96.png
vendored
Before Width: | Height: | Size: 33 KiB |
56
debian/qbrowser.desktop
vendored
@ -1,56 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=QGIS Browser
|
||||
Version=1.0
|
||||
GenericName=Geographic Information System
|
||||
GenericName[ar]=نظام المعلومات الجغرافي
|
||||
GenericName[az]=Coğrafi informasiya sistemi
|
||||
GenericName[bg]=Географска информационна система
|
||||
GenericName[bs]=Geografski informacioni sistem
|
||||
GenericName[ca]=Sistema d'informació geogràfica
|
||||
GenericName[cs]=Geografický Informační Systém
|
||||
GenericName[de]=Geographisches Informationssystem
|
||||
GenericName[el]=Σύστημα Γεωγραφικών Πληροφοριών
|
||||
GenericName[es]=Sistema de Información Geográfica
|
||||
GenericName[et]=Geoinfosüsteem
|
||||
GenericName[eu]=Geografia-informazioko sistemen
|
||||
GenericName[fa]=سامانه اطلاعات مکانی
|
||||
GenericName[fi]=Maantieteellinen Tietojärjestelmä
|
||||
GenericName[fr]=Système d'Information Géographique
|
||||
GenericName[gl]=Sistema de información xeográfica
|
||||
GenericName[he]=מערכת מידע גאוגרפית
|
||||
GenericName[hi]=भूगोलीय_सूचना_प्रणाली
|
||||
GenericName[hr]=Geografski informacijski sustav
|
||||
GenericName[hu]=Földrajzi információs rendszer
|
||||
GenericName[hy]=Աշխարհագրական տեղեկատվական համակարգ
|
||||
GenericName[id]=Sistem informasi geografis
|
||||
GenericName[is]=Landfræðilegt upplýsingakerfi
|
||||
GenericName[it]=Sistema Informativo Geografico
|
||||
GenericName[ka]=გეოინფორმაციული სისტემა
|
||||
GenericName[lt]=Geografinė informacinė sistema
|
||||
GenericName[lv]=Ģeogrāfiskā informācijas sistēma
|
||||
GenericName[mk]=Географски информационен систем
|
||||
GenericName[ml]=ജി.ഐ.എസ്.
|
||||
GenericName[nl]=Geografisch informatiesysteem
|
||||
GenericName[nn]=Geografiske informasjonssystem
|
||||
GenericName[no]=Geografiske informasjonssystemer
|
||||
GenericName[pl]=System Informacji Geograficznej
|
||||
GenericName[pt]=Sistema de Informação Geográfica
|
||||
GenericName[ro]=Sistem Informatic Geografic
|
||||
GenericName[ru]=Геоинформационная система
|
||||
GenericName[sh]=Geografski informacijski sistem
|
||||
GenericName[sk]=Geografický informačný systém
|
||||
GenericName[sl]=Geografski informacijski sistem
|
||||
GenericName[sr]=Географски информациони систем
|
||||
GenericName[sv]=Geografiskt Informationssystem
|
||||
GenericName[th]=ระบบสารสนเทศภูมิศาสตร์
|
||||
GenericName[tr]=Coğrafi bilgi sistemi
|
||||
GenericName[uk]=Геоінформаційна система
|
||||
GenericName[uz]=Geografik axborot tizimi
|
||||
Icon=qbrowser
|
||||
TryExec=/usr/bin/qbrowser
|
||||
Exec=/usr/bin/qbrowser %F
|
||||
Terminal=false
|
||||
StartupNotify=false
|
||||
Categories=Qt;Education;Science;Geography;
|
||||
Keywords=map;globe;postgis;wms;wfs;ogc;osgeo;
|
15
debian/rules
vendored
@ -63,7 +63,6 @@ CMAKE_OPTS := \
|
||||
-DBINDINGS_GLOBAL_INSTALL=TRUE \
|
||||
-DPEDANTIC=TRUE \
|
||||
-DSERVER_SKIP_ECW=TRUE \
|
||||
-DSUPPRESS_SIP_WARNINGS=TRUE \
|
||||
-DQGIS_CGIBIN_SUBDIR=/usr/lib/cgi-bin \
|
||||
-DWITH_APIDOC=TRUE \
|
||||
-DGENERATE_QHP=TRUE \
|
||||
@ -225,7 +224,7 @@ binary binary-arch binary-indep build build-arch build-indep clean install insta
|
||||
dh $@ --with python3 --parallel --builddirectory=$(QGIS_BUILDDIR)
|
||||
|
||||
override_dh_clean: cleantemplates
|
||||
dh_clean qgis.bin.1 qbrowser.bin.1
|
||||
dh_clean qgis.bin.1
|
||||
|
||||
-$(RM) -r $(CURDIR)/$(QGIS_BUILDDIR)/
|
||||
|
||||
@ -282,7 +281,6 @@ override_dh_auto_install:
|
||||
|
||||
# Man pages are installed by dh_installman
|
||||
$(RM) $(CURDIR)/debian/tmp/usr/man/man1/qgis.1
|
||||
$(RM) $(CURDIR)/debian/tmp/usr/man/man1/qbrowser.1
|
||||
|
||||
# Don't ship srs.db, automatically updated in postinst with crssync
|
||||
mv $(CURDIR)/debian/tmp/usr/share/qgis/resources/srs.db $(CURDIR)/debian/tmp/usr/share/qgis/resources/srs-template.db
|
||||
@ -290,9 +288,7 @@ override_dh_auto_install:
|
||||
# Install menu pixmap
|
||||
install -o root -g root -d $(CURDIR)/debian/tmp/usr/share/pixmaps
|
||||
install -o root -g root -m 644 $(CURDIR)/images/icons/qgis_icon.svg $(CURDIR)/debian/tmp/usr/share/pixmaps/qgis.svg
|
||||
install -o root -g root -m 644 $(CURDIR)/images/icons/qbrowser_icon.svg $(CURDIR)/debian/tmp/usr/share/pixmaps/qbrowser.svg
|
||||
install -o root -g root -m 644 $(CURDIR)/images/icons/qgis-icon.png $(CURDIR)/debian/tmp/usr/share/pixmaps/qgis.png
|
||||
install -o root -g root -m 644 $(CURDIR)/images/icons/qbrowser-icon.png $(CURDIR)/debian/tmp/usr/share/pixmaps/qbrowser.png
|
||||
install -o root -g root -m 644 $(CURDIR)/images/icons/qgis-mime-icon.png $(CURDIR)/debian/tmp/usr/share/pixmaps/qgis-mime.png
|
||||
|
||||
# Install MIME type icon
|
||||
@ -315,17 +311,14 @@ override_dh_auto_install:
|
||||
for size in 8x8 16x16 22x22 24x24 32x32 36x36 42x42 48x48 64x64 72x72 80x80 96x96 128x128 192x192 256x256 512x512; do \
|
||||
install -o root -g root -d $(CURDIR)/debian/tmp/usr/share/icons/hicolor/$${size}/apps ; \
|
||||
install -o root -g root -m 644 $(CURDIR)/debian/icons/qgis-icon$${size}.png $(CURDIR)/debian/tmp/usr/share/icons/hicolor/$${size}/apps/qgis.png ; \
|
||||
install -o root -g root -m 644 $(CURDIR)/debian/icons/qbrowser-icon$${size}.png $(CURDIR)/debian/tmp/usr/share/icons/hicolor/$${size}/apps/qbrowser.png ; \
|
||||
done
|
||||
|
||||
install -o root -g root -d $(CURDIR)/debian/tmp/usr/share/icons/hicolor/scalable/apps
|
||||
install -o root -g root -m 644 $(CURDIR)/images/icons/qgis_icon.svg $(CURDIR)/debian/tmp/usr/share/icons/hicolor/scalable/apps/qgis.svg
|
||||
install -o root -g root -m 644 $(CURDIR)/images/icons/qbrowser_icon.svg $(CURDIR)/debian/tmp/usr/share/icons/hicolor/scalable/apps/qbrowser.svg
|
||||
|
||||
# Install desktop files
|
||||
install -o root -g root -d $(CURDIR)/debian/tmp/usr/share/applications
|
||||
install -o root -g root -m 644 $(CURDIR)/debian/qgis.desktop $(CURDIR)/debian/tmp/usr/share/applications
|
||||
install -o root -g root -m 644 $(CURDIR)/debian/qbrowser.desktop $(CURDIR)/debian/tmp/usr/share/applications
|
||||
|
||||
# Mime info
|
||||
install -o root -g root -d $(CURDIR)/debian/tmp/usr/share/mime/packages
|
||||
@ -337,10 +330,8 @@ override_dh_auto_install:
|
||||
# qgis binaries
|
||||
install -o root -g root -m 755 -d $(CURDIR)/debian/qgis/usr/bin
|
||||
install -o root -g root -m 755 $(CURDIR)/debian/tmp/usr/bin/qgis $(CURDIR)/debian/qgis/usr/bin/qgis.bin
|
||||
install -o root -g root -m 755 $(CURDIR)/debian/tmp/usr/bin/qbrowser $(CURDIR)/debian/qgis/usr/bin/qbrowser.bin
|
||||
|
||||
$(RM) $(CURDIR)/debian/tmp/usr/bin/qgis
|
||||
$(RM) $(CURDIR)/debian/tmp/usr/bin/qbrowser
|
||||
|
||||
# qgis binary wrappers
|
||||
sed -r \
|
||||
@ -349,7 +340,6 @@ override_dh_auto_install:
|
||||
$(CURDIR)/debian/qgis.sh.in >$(CURDIR)/debian/qgis.sh
|
||||
|
||||
install -o root -g root -m 755 $(CURDIR)/debian/qgis.sh $(CURDIR)/debian/qgis/usr/bin/qgis
|
||||
install -o root -g root -m 755 $(CURDIR)/debian/qgis.sh $(CURDIR)/debian/qgis/usr/bin/qbrowser
|
||||
|
||||
override_dh_install:
|
||||
dh_install --autodest --list-missing
|
||||
@ -359,9 +349,8 @@ override_dh_installchangelogs:
|
||||
|
||||
override_dh_installman:
|
||||
cp qgis.1 qgis.bin.1
|
||||
cp qbrowser.1 qbrowser.bin.1
|
||||
|
||||
dh_installman -pqgis qgis.1 qbrowser.1 qgis.bin.1 qbrowser.bin.1
|
||||
dh_installman -pqgis qgis.1 qgis.bin.1
|
||||
|
||||
override_dh_installmime:
|
||||
dh_installmime -pqgis
|
||||
|
Before Width: | Height: | Size: 15 KiB |
@ -43,7 +43,7 @@
|
||||
<file>flags/xh.png</file>
|
||||
<file>icons/qgis-icon-16x16.png</file>
|
||||
<file>icons/qgis-icon-60x60.png</file>
|
||||
<file>icons/qbrowser-icon-60x60.png</file>
|
||||
<file>icons/qbrowser_icon.svg</file>
|
||||
<file>north_arrows/default.png</file>
|
||||
<file>north_arrows/gpsarrow.svg</file>
|
||||
<file>north_arrows/gpsarrow2.svg</file>
|
||||
|
@ -1,80 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>QGIS Browser</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.qgis.qgis3_browser</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>QGIS Browser</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>QGSB</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>${QGIS_APP_NAME} Browser ${COMPLETE_VERSION}-${RELEASE_NAME} (${SHA}), © 2002-2016 QGIS Development Team</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>${COMPLETE_VERSION}</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>${COMPLETE_VERSION} (${SHA})</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>qgisb.icns</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CSResourcesFileMapped</key>
|
||||
<true/>
|
||||
<key>CFBundleLocalizations</key>
|
||||
<array>
|
||||
<string>en</string>
|
||||
<string>af</string>
|
||||
<string>ar</string>
|
||||
<string>bg</string>
|
||||
<string>ca_ES</string>
|
||||
<string>cs_CZ</string>
|
||||
<string>da_DK</string>
|
||||
<string>de</string>
|
||||
<string>el_GR</string>
|
||||
<string>es</string>
|
||||
<string>fa</string>
|
||||
<string>fi</string>
|
||||
<string>fr</string>
|
||||
<string>gl_ES</string>
|
||||
<string>he</string>
|
||||
<string>hr_HR</string>
|
||||
<string>hu</string>
|
||||
<string>id</string>
|
||||
<string>is</string>
|
||||
<string>it</string>
|
||||
<string>ja</string>
|
||||
<string>ka_GE</string>
|
||||
<string>ko_KR</string>
|
||||
<string>lo</string>
|
||||
<string>lt</string>
|
||||
<string>lv</string>
|
||||
<string>mn</string>
|
||||
<string>nl</string>
|
||||
<string>no</string>
|
||||
<string>pl_PL</string>
|
||||
<string>pt_BR</string>
|
||||
<string>pt_PT</string>
|
||||
<string>ro</string>
|
||||
<string>ru</string>
|
||||
<string>sk</string>
|
||||
<string>sl_SI</string>
|
||||
<string>sq_AL</string>
|
||||
<string>sr_CS-Latn</string>
|
||||
<string>sv</string>
|
||||
<string>ta</string>
|
||||
<string>th</string>
|
||||
<string>tr</string>
|
||||
<string>uk</string>
|
||||
<string>vi</string>
|
||||
<string>xh</string>
|
||||
<string>zh_CN</string>
|
||||
<string>zh_TW</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
@ -1,10 +0,0 @@
|
||||
@echo off
|
||||
call "%~dp0\o4w_env.bat"
|
||||
call "%OSGEO4W_ROOT%\apps\grass\grass-@grassversion@\etc\env.bat"
|
||||
call qt5_env.bat
|
||||
call py3_env.bat
|
||||
@echo off
|
||||
path %OSGEO4W_ROOT%\apps\@package@\bin;%OSGEO4W_ROOT%\apps\grass\grass-@grassversion@\lib;%OSGEO4W_ROOT%\apps\grass\grass-@grassversion@\bin;%PATH%
|
||||
set QGIS_PREFIX_PATH=%OSGEO4W_ROOT:\=/%/apps/@package@
|
||||
set QT_PLUGIN_PATH=%OSGEO4W_ROOT%\apps\@package@\qtplugins;%OSGEO4W_ROOT%\apps\qt5\plugins
|
||||
start "QGIS Browser" /B "%OSGEO4W_ROOT%\bin\@package@-browser-bin.exe" %*
|
@ -1,9 +0,0 @@
|
||||
@echo off
|
||||
call "%~dp0\o4w_env.bat"
|
||||
call qt5_env.bat
|
||||
call py3_env.bat
|
||||
@echo off
|
||||
path %OSGEO4W_ROOT%\apps\@package@\bin;%PATH%
|
||||
set QGIS_PREFIX_PATH=%OSGEO4W_ROOT:\=/%/apps/@package@
|
||||
set QT_PLUGIN_PATH=%OSGEO4W_ROOT%\apps\@package@\qtplugins;%OSGEO4W_ROOT%\apps\qt5\plugins
|
||||
start "QGIS Browser" /B "%OSGEO4W_ROOT%\bin\@package@-browser-bin.exe" %*
|
@ -200,7 +200,6 @@ cmake -G Ninja ^
|
||||
-D QCA_INCLUDE_DIR=%OSGEO4W_ROOT%\apps\Qt5\include\QtCrypto ^
|
||||
-D QCA_LIBRARY=%OSGEO4W_ROOT%\apps\Qt5\lib\qca-qt5.lib ^
|
||||
-D QSCINTILLA_LIBRARY=%OSGEO4W_ROOT%\apps\Qt5\lib\qscintilla2.lib ^
|
||||
-D SUPPRESS_SIP_WARNINGS=TRUE ^
|
||||
%CMAKE_OPT% ^
|
||||
%SRCDIR:\=/%
|
||||
if errorlevel 1 (echo cmake failed & goto error)
|
||||
@ -277,10 +276,6 @@ for %%g IN (%GRASS_VERSIONS%) do (
|
||||
sed -e 's/@package@/%PACKAGENAME%/g' -e 's/@version@/%VERSION%/g' -e 's/@grassversion@/%%g/g' qgis-grass.bat.tmpl >%OSGEO4W_ROOT%\bin\%PACKAGENAME%-g%%g.bat.tmpl
|
||||
if errorlevel 1 (echo creation of desktop template failed & goto error)
|
||||
set batches=!batches! bin/%PACKAGENAME%-g%%g.bat.tmpl
|
||||
|
||||
sed -e 's/@package@/%PACKAGENAME%/g' -e 's/@version@/%VERSION%/g' -e 's/@grassversion@/%%g/g' browser-grass.bat.tmpl >%OSGEO4W_ROOT%\bin\%PACKAGENAME%-browser-g%%g.bat.tmpl
|
||||
if errorlevel 1 (echo creation of browser template & goto error)
|
||||
set batches=!batches! bin/%PACKAGENAME%-browser-g%%g.bat.tmpl
|
||||
)
|
||||
|
||||
sed -e 's/@package@/%PACKAGENAME%/g' -e 's/@version@/%VERSION%/g' python.bat.tmpl >%OSGEO4W_ROOT%\bin\python-%PACKAGENAME%.bat.tmpl
|
||||
@ -297,10 +292,6 @@ move %PKGDIR%\bin\qgis.exe %OSGEO4W_ROOT%\bin\%PACKAGENAME%-bin.exe
|
||||
if errorlevel 1 (echo move of desktop executable failed & goto error)
|
||||
copy qgis.vars %OSGEO4W_ROOT%\bin\%PACKAGENAME%-bin.vars
|
||||
if errorlevel 1 (echo copy of desktop executable vars failed & goto error)
|
||||
move %PKGDIR%\bin\qbrowser.exe %OSGEO4W_ROOT%\bin\%PACKAGENAME%-browser-bin.exe
|
||||
if errorlevel 1 (echo move of browser executable failed & goto error)
|
||||
copy qgis.vars %OSGEO4W_ROOT%\bin\%PACKAGENAME%-browser-bin.vars
|
||||
if errorlevel 1 (echo copy of browser executable vars failed & goto error)
|
||||
|
||||
if not exist %PKGDIR%\qtplugins\sqldrivers mkdir %PKGDIR%\qtplugins\sqldrivers
|
||||
move %OSGEO4W_ROOT%\apps\qt5\plugins\sqldrivers\qsqlocispatial.dll %PKGDIR%\qtplugins\sqldrivers
|
||||
@ -322,7 +313,6 @@ tar -C %OSGEO4W_ROOT% -cjf %ARCH%/release/qgis/%PACKAGENAME%/%PACKAGENAME%-%VERS
|
||||
--exclude "*.pyc" ^
|
||||
apps/%PACKAGENAME% ^
|
||||
bin/%PACKAGENAME%-bin.exe ^
|
||||
bin/%PACKAGENAME%-browser-bin.exe ^
|
||||
%batches% ^
|
||||
bin/%PACKAGENAME%-designer.bat.tmpl ^
|
||||
bin/python-%PACKAGENAME%.bat.tmpl ^
|
||||
|
@ -192,7 +192,6 @@ cmake -G Ninja ^
|
||||
-D QCA_INCLUDE_DIR=%OSGEO4W_ROOT%\apps\Qt5\include\QtCrypto ^
|
||||
-D QCA_LIBRARY=%OSGEO4W_ROOT%\apps\Qt5\lib\qca-qt5.lib ^
|
||||
-D QSCINTILLA_LIBRARY=%OSGEO4W_ROOT%\apps\Qt5\lib\qscintilla2.lib ^
|
||||
-D SUPPRESS_SIP_WARNINGS=TRUE ^
|
||||
%CMAKE_OPT% ^
|
||||
%SRCDIR:\=/%
|
||||
if errorlevel 1 (echo cmake failed & goto error)
|
||||
@ -254,9 +253,6 @@ if errorlevel 1 (echo creation of desktop preremove failed & goto error)
|
||||
sed -e 's/@package@/%PACKAGENAME%/g' -e 's/@version@/%VERSION%/g' qgis.bat.tmpl >%OSGEO4W_ROOT%\bin\%PACKAGENAME%.bat.tmpl
|
||||
if errorlevel 1 (echo creation of desktop template failed & goto error)
|
||||
|
||||
sed -e 's/@package@/%PACKAGENAME%/g' -e 's/@version@/%VERSION%/g' browser.bat.tmpl >%OSGEO4W_ROOT%\bin\%PACKAGENAME%-browser.bat.tmpl
|
||||
if errorlevel 1 (echo creation of browser template & goto error)
|
||||
|
||||
sed -e 's/@package@/%PACKAGENAME%/g' -e 's/@version@/%VERSION%/g' designer.bat.tmpl >%OSGEO4W_ROOT%\bin\%PACKAGENAME%-designer.bat.tmpl
|
||||
if errorlevel 1 (echo creation of designer template failed & goto error)
|
||||
|
||||
@ -289,8 +285,6 @@ for %%g IN (%GRASS_VERSIONS%) do (
|
||||
if errorlevel 1 (echo creation of grass desktop preremove failed & goto error)
|
||||
sed -e 's/@package@/%PACKAGENAME%/g' -e 's/@version@/%VERSION%/g' -e 's/@grassversion@/%%g/g' -e 's/@grassmajor@/!v!/g' qgis-grass.bat.tmpl >%OSGEO4W_ROOT%\bin\%PACKAGENAME%-grass!v!.bat.tmpl
|
||||
if errorlevel 1 (echo creation of grass desktop template failed & goto error)
|
||||
sed -e 's/@package@/%PACKAGENAME%/g' -e 's/@version@/%VERSION%/g' -e 's/@grassversion@/%%g/g' -e 's/@grassmajor@/!v!/g' browser-grass.bat.tmpl >%OSGEO4W_ROOT%\bin\%PACKAGENAME%-browser-grass!v!.bat.tmpl
|
||||
if errorlevel 1 (echo creation of grass browser template & goto error)
|
||||
|
||||
set packages=!packages! "-grass-plugin!w!"
|
||||
)
|
||||
@ -358,10 +352,6 @@ move %PKGDIR%\bin\qgis.exe %OSGEO4W_ROOT%\bin\%PACKAGENAME%-bin.exe
|
||||
if errorlevel 1 (echo move of desktop executable failed & goto error)
|
||||
copy qgis.vars %OSGEO4W_ROOT%\bin\%PACKAGENAME%-bin.vars
|
||||
if errorlevel 1 (echo copy of desktop executable vars failed & goto error)
|
||||
move %PKGDIR%\bin\qbrowser.exe %OSGEO4W_ROOT%\bin\%PACKAGENAME%-browser-bin.exe
|
||||
if errorlevel 1 (echo move of browser executable failed & goto error)
|
||||
copy qgis.vars %OSGEO4W_ROOT%\bin\%PACKAGENAME%-browser-bin.vars
|
||||
if errorlevel 1 (echo copy of browser executable vars failed & goto error)
|
||||
|
||||
if not exist %PKGDIR%\qtplugins\sqldrivers mkdir %PKGDIR%\qtplugins\sqldrivers
|
||||
move %OSGEO4W_ROOT%\apps\qt5\plugins\sqldrivers\qsqlocispatial.dll %PKGDIR%\qtplugins\sqldrivers
|
||||
@ -384,13 +374,10 @@ tar -C %OSGEO4W_ROOT% -cjf %ARCH%/release/qgis/%PACKAGENAME%/%PACKAGENAME%-%VERS
|
||||
--exclude "apps/%PACKAGENAME%/python/qgis/_server.pyd" ^
|
||||
--exclude "apps/%PACKAGENAME%/python/qgis/_server.lib" ^
|
||||
--exclude "apps/%PACKAGENAME%/python/qgis/server" ^
|
||||
"bin/%PACKAGENAME%-browser-bin.exe" ^
|
||||
"bin/%PACKAGENAME%-browser-bin.vars" ^
|
||||
"bin/%PACKAGENAME%-bin.exe" ^
|
||||
"bin/%PACKAGENAME%-bin.vars" ^
|
||||
"bin/python-%PACKAGENAME%.bat.tmpl" ^
|
||||
"apps/%PACKAGENAME%/bin/qgis_app.dll" ^
|
||||
"apps/%PACKAGENAME%/bin/qgis_browser.dll" ^
|
||||
"apps/%PACKAGENAME%/bin/qgis.reg.tmpl" ^
|
||||
"apps/%PACKAGENAME%/i18n/" ^
|
||||
"apps/%PACKAGENAME%/icons/" ^
|
||||
@ -410,7 +397,6 @@ tar -C %OSGEO4W_ROOT% -cjf %ARCH%/release/qgis/%PACKAGENAME%/%PACKAGENAME%-%VERS
|
||||
"apps/%PACKAGENAME%/resources/customization.xml" ^
|
||||
"apps/%PACKAGENAME%/resources/themes/" ^
|
||||
"bin/%PACKAGENAME%.bat.tmpl" ^
|
||||
"bin/%PACKAGENAME%-browser.bat.tmpl" ^
|
||||
"bin/%PACKAGENAME%-designer.bat.tmpl" ^
|
||||
"etc/postinstall/%PACKAGENAME%.bat" ^
|
||||
"etc/preremove/%PACKAGENAME%.bat"
|
||||
@ -447,7 +433,6 @@ for %%g IN (%GRASS_VERSIONS%) do (
|
||||
"apps/%PACKAGENAME%/plugins/grassplugin!v!.dll" ^
|
||||
"apps/%PACKAGENAME%/plugins/grassprovider!v!.dll" ^
|
||||
"apps/%PACKAGENAME%/plugins/grassrasterprovider!v!.dll" ^
|
||||
"bin/%PACKAGENAME%-browser-grass!v!.bat.tmpl" ^
|
||||
"bin/%PACKAGENAME%-grass!v!.bat.tmpl" ^
|
||||
"etc/postinstall/%PACKAGENAME%-grass-plugin!w!.bat" ^
|
||||
"etc/preremove/%PACKAGENAME%-grass-plugin!w!.bat"
|
||||
|
@ -1,5 +1,4 @@
|
||||
textreplace -std -t bin\@package@.bat
|
||||
textreplace -std -t bin\@package@-browser.bat
|
||||
textreplace -std -t bin\@package@-designer.bat
|
||||
textreplace -std -t bin\python-@package@.bat
|
||||
|
||||
@ -8,7 +7,6 @@ for %%i in ("%OSGEO4W_ROOT%") do set O4W_ROOT=%%~fsi
|
||||
if "%OSGEO4W_DESKTOP%"=="" set OSGEO4W_DESKTOP=~$folder.common_desktop$
|
||||
|
||||
"%OSGEO4W_ROOT%\bin\@package@.bat" --exit
|
||||
"%OSGEO4W_ROOT%\bin\@package@-browser.bat" --exit
|
||||
|
||||
if not %OSGEO4W_MENU_LINKS%==0 mkdir "%OSGEO4W_STARTMENU%"
|
||||
if not %OSGEO4W_DESKTOP_LINKS%==0 mkdir "%OSGEO4W_DESKTOP%"
|
||||
@ -16,9 +14,6 @@ if not %OSGEO4W_DESKTOP_LINKS%==0 mkdir "%OSGEO4W_DESKTOP%"
|
||||
if not %OSGEO4W_MENU_LINKS%==0 nircmd shortcut "%O4W_ROOT%\bin\@package@-bin.exe" "%OSGEO4W_STARTMENU%" "QGIS Desktop @version@"
|
||||
if not %OSGEO4W_DESKTOP_LINKS%==0 nircmd shortcut "%O4W_ROOT%\bin\package@-bin.exe" "%OSGEO4W_DESKTOP%" "QGIS Desktop @version@"
|
||||
|
||||
if not %OSGEO4W_MENU_LINKS%==0 nircmd shortcut "%O4W_ROOT%\bin\@package@-browser-bin.exe" "%OSGEO4W_STARTMENU%" "QGIS Browser @version@"
|
||||
if not %OSGEO4W_DESKTOP_LINKS%==0 nircmd shortcut "%O4W_ROOT%\bin\@package@-browser-bin.exe" "%OSGEO4W_DESKTOP%" "QGIS Browser @version@"
|
||||
|
||||
if not %OSGEO4W_MENU_LINKS%==0 nircmd shortcut "%O4W_ROOT%\bin\nircmd.exe" "%OSGEO4W_STARTMENU%" "Qt Designer with QGIS @version@ custom widgets" "exec hide """%OSGEO4W_ROOT%\bin\@package@-designer.bat"" "%O4W_ROOT%\apps\@package@\icons\QGIS.ico"
|
||||
if not %OSGEO4W_DESKTOP_LINKS%==0 nircmd shortcut "%O4W_ROOT%\bin\nircmd.exe" "%OSGEO4W_DESKTOP%" "Qt Designer with QGIS @version@ custom widgets" "exec hide %O4W_ROOT%\bin\@package@-designer.bat" "%O4W_ROOT%\apps\@package@\icons\QGIS.ico"
|
||||
|
||||
|
@ -14,14 +14,6 @@ for %%g in (@grassversions@) do (
|
||||
|
||||
if not %OSGEO4W_MENU_LINKS%==0 nircmd shortcut "%OSGEO4W_ROOT%\bin\@package@-bin-g%%g.exe" "%OSGEO4W_STARTMENU%" "QGIS Desktop @version@ with GRASS %%g (Nightly)"
|
||||
if not %OSGEO4W_DESKTOP_LINKS%==0 nircmd shortcut "%OSGEO4W_ROOT%\bin\@package@-bin-g%%g.exe" "%OSGEO4W_DESKTOP%" "QGIS Desktop @version@ with GRASS %%g (Nightly)"
|
||||
|
||||
copy "%OSGEO4W_ROOT%\bin\@package@-browser-bin.exe" "%OSGEO4W_ROOT%\bin\@package@-browser-bin-g%%g.exe"
|
||||
copy "%OSGEO4W_ROOT%\bin\@package@-bin.vars" "%OSGEO4W_ROOT%\bin\@package@-browser-bin-g%%g.vars"
|
||||
textreplace -std -t bin\@package@-browser-g%%g.bat
|
||||
"%OSGEO4W_ROOT%\bin\@package@-browser-g%%g.bat" --exit
|
||||
|
||||
if not %OSGEO4W_MENU_LINKS%==0 nircmd shortcut "%OSGEO4W_ROOT%\bin\@package@-browser-bin-g%%g.exe" "%OSGEO4W_STARTMENU%" "QGIS Browser @version@ with GRASS %%g (Nightly)"
|
||||
if not %OSGEO4W_DESKTOP_LINKS%==0 nircmd shortcut "%OSGEO4W_ROOT%\bin\@package@-browser-bin-g%%g.exe" "%OSGEO4W_DESKTOP%" "QGIS Browser @version@ with GRASS %%g (Nightly)"
|
||||
)
|
||||
|
||||
if not %OSGEO4W_MENU_LINKS%==0 nircmd shortcut "%OSGEO4W_ROOT%\bin\nircmd.exe" "%OSGEO4W_STARTMENU%" "Qt Designer with QGIS @version@ custom widgets (Nightly)" "exec hide """%OSGEO4W_ROOT%\bin\@package@-designer.bat"" "%OSGEO4W_ROOT%\apps\@package@\icons\QGIS.ico"
|
||||
|
@ -1,5 +1,4 @@
|
||||
textreplace -std -t bin\@package@-grass@grassmajor@.bat
|
||||
textreplace -std -t bin\@package@-browser-grass@grassmajor@.bat
|
||||
|
||||
if "%OSGEO4W_DESKTOP%"=="" set OSGEO4W_DESKTOP=~$folder.common_desktop$
|
||||
|
||||
@ -12,6 +11,3 @@ if not %OSGEO4W_DESKTOP_LINKS%==0 mkdir "%OSGEO4W_DESKTOP%"
|
||||
|
||||
if not %OSGEO4W_MENU_LINKS%==0 nircmd shortcut "%OSGEO4W_ROOT%\bin\@package@-bin-grass@grassmajor@.exe" "%OSGEO4W_STARTMENU%" "QGIS Desktop @version@ with GRASS @grassversion@"
|
||||
if not %OSGEO4W_DESKTOP_LINKS%==0 nircmd shortcut "%OSGEO4W_ROOT%\bin\@package@-bin-grass@grassmajor@.exe" "%OSGEO4W_DESKTOP%" "QGIS Desktop @version@ with GRASS @grassversion@"
|
||||
|
||||
if not %OSGEO4W_MENU_LINKS%==0 nircmd shortcut "%OSGEO4W_ROOT%\bin\nircmd.exe" "%OSGEO4W_STARTMENU%" "QGIS Browser @version@ with GRASS @grassversion@" "exec hide %OSGEO4W_ROOT%\bin\@package@-browser-grass@grassmajor@.bat" "%OSGEO4W_ROOT%\apps\@package@\icons\browser.ico"
|
||||
if not %OSGEO4W_DESKTOP_LINKS%==0 nircmd shortcut "%OSGEO4W_ROOT%\bin\nircmd.exe" "%OSGEO4W_DESKTOP%" "QGIS Browser @version@ with GRASS @grassversion@" "exec hide %OSGEO4W_ROOT%\bin\@package@-browser-grass@grassmajor@.bat" "%OSGEO4W_ROOT%\apps\@package@\icons\browser.ico"
|
||||
|
@ -9,9 +9,6 @@ rmdir "%OSGEO4W_DESKTOP%"
|
||||
del "%OSGEO4W_ROOT%\bin\@package@.bat"
|
||||
del "%OSGEO4W_ROOT%\bin\@package@-bin.vars"
|
||||
del "%OSGEO4W_ROOT%\bin\@package@-bin.env"
|
||||
del "%OSGEO4W_ROOT%\bin\@package@-browser.bat"
|
||||
del "%OSGEO4W_ROOT%\bin\@package@-browser-bin.vars"
|
||||
del "%OSGEO4W_ROOT%\bin\@package@-browser-bin.env"
|
||||
del "%OSGEO4W_ROOT%\bin\@package@-designer.bat"
|
||||
del "%OSGEO4W_ROOT%\apps\@package@\python\qgis\qgisconfig.py"
|
||||
del "%OSGEO4W_ROOT%\apps\@package@\bin\qgis.reg"
|
||||
|
@ -7,10 +7,6 @@ for %%g in (@grassversions@) do (
|
||||
del "%OSGEO4W_ROOT%\bin\@package@-bin-g%%g.exe"
|
||||
del "%OSGEO4W_ROOT%\bin\@package@-bin-g%%g.env"
|
||||
del "%OSGEO4W_ROOT%\bin\@package@-bin-g%%g.vars"
|
||||
del "%OSGEO4W_ROOT%\bin\@package@-browser-g%%g.bat"
|
||||
del "%OSGEO4W_ROOT%\bin\@package@-browser-bin-g%%g.exe"
|
||||
del "%OSGEO4W_ROOT%\bin\@package@-browser-bin-g%%g.env"
|
||||
del "%OSGEO4W_ROOT%\bin\@package@-browser-bin-g%%g.vars"
|
||||
)
|
||||
|
||||
del "%OSGEO4W_STARTMENU%\Qt Designer with QGIS @version@ custom widgets (Nightly).lnk"
|
||||
@ -19,7 +15,6 @@ del "%OSGEO4W_DESKTOP%\Qt Designer with QGIS @version@ custom widgets (Nightly).
|
||||
rmdir "%OSGEO4W_DESKTOP%"
|
||||
|
||||
del "%OSGEO4W_ROOT%\bin\@package@-bin.env"
|
||||
del "%OSGEO4W_ROOT%\bin\@package@-browser-bin.env"
|
||||
del "%OSGEO4W_ROOT%\bin\@package@-designer.bat"
|
||||
del "%OSGEO4W_ROOT%\bin\python-@package@.bat"
|
||||
del "%OSGEO4W_ROOT%\apps\@package@\python\qgis\qgisconfig.py"
|
||||
|
@ -5,7 +5,6 @@ del "%OSGEO4W_DESKTOP%\QGIS Desktop @version@ with GRASS @grassversion@.lnk"
|
||||
del "%OSGEO4W_DESKTOP%\QGIS Browser @version@ with GRASS @grassversion@.lnk"
|
||||
rmdir "%OSGEO4W_DESKTOP%"
|
||||
del "%OSGEO4W_ROOT%\bin\@package@-grass@grassmajor@.bat"
|
||||
del "%OSGEO4W_ROOT%\bin\@package@-browser-grass@grassmajor@.bat"
|
||||
del "%OSGEO4W_ROOT%\bin\@package@-bin-grass@grassmajor@.exe"
|
||||
del "%OSGEO4W_ROOT%\bin\@package@-bin-grass@grassmajor@.vars"
|
||||
del "%OSGEO4W_ROOT%\bin\@package@-bin-grass@grassmajor@.env"
|
||||
|
17
qbrowser.1
@ -1,17 +0,0 @@
|
||||
.TH QGIS 1 "May 23, 2011"
|
||||
.SH NAME
|
||||
qbrowser \- QGIS Geographic Information System Browser
|
||||
.SH SYNOPSIS
|
||||
.B qbrowser
|
||||
.SH DESCRIPTION
|
||||
QGIS is a cross platform, Free and Open Source Geographic
|
||||
Information System (GIS). Supported platforms include Linux/Unix, Mac OS X and
|
||||
Microsoft Windows. QGIS supports vector, raster, and database formats. QGIS is
|
||||
licensed under the GNU General Public License.
|
||||
|
||||
This is the browser.
|
||||
.SH BUGS
|
||||
See the QGIS home page (http://qgis.org) for a list of known issues with the
|
||||
latest release.
|
||||
.SH AUTHOR
|
||||
Juergen E. Fischer <jef at norbit dot de>
|
@ -248,8 +248,7 @@ desktop-file-install \
|
||||
--dir=%{buildroot}%{_datadir}/applications \
|
||||
debian/qgis.desktop
|
||||
|
||||
desktop-file-install --dir=%{buildroot}%{_datadir}/applications \
|
||||
debian/qbrowser.desktop
|
||||
desktop-file-install --dir=%{buildroot}%{_datadir}/applications
|
||||
|
||||
# Install MIME type definitions
|
||||
install -d %{buildroot}%{_datadir}/mime/packages
|
||||
@ -345,9 +344,7 @@ update-mime-database %{?fedora:-n} %{_datadir}/mime &> /dev/null || :
|
||||
%{_libdir}/%{name}/
|
||||
%{_qt4_prefix}/plugins/sqldrivers/libqsqlspatialite.so
|
||||
%{_bindir}/%{name}
|
||||
%{_bindir}/qbrowser
|
||||
%{_mandir}/man1/%{name}.1*
|
||||
%{_mandir}/man1/qbrowser.1*
|
||||
%dir %{_datadir}/%{name}/
|
||||
%{_datadir}/mime/packages/qgis.xml
|
||||
%{_datadir}/pixmaps/%{name}.png
|
||||
@ -356,7 +353,6 @@ update-mime-database %{?fedora:-n} %{_datadir}/mime &> /dev/null || :
|
||||
%{_datadir}/icons/hicolor/128x128/mimetypes/application-x-qgis-layer-settings.png
|
||||
%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
|
||||
%{_datadir}/applications/*%{name}.desktop
|
||||
%{_datadir}/applications/qbrowser.desktop
|
||||
%{_datadir}/%{name}/images/
|
||||
%{_datadir}/%{name}/resources/
|
||||
%{_datadir}/%{name}/svg/
|
||||
|
@ -30,7 +30,6 @@ src/plugins/grass/qtermwidget/
|
||||
|
||||
#Specific files
|
||||
ChangeLog
|
||||
debian/qbrowser.desktop
|
||||
debian/qgis.desktop
|
||||
debian/qgis-plugin-grass.lintian-overrides
|
||||
debian/qgis-provider-grass.lintian-overrides
|
||||
|
@ -10,7 +10,6 @@ ADD_SUBDIRECTORY(test)
|
||||
IF (WITH_DESKTOP)
|
||||
ADD_SUBDIRECTORY(app)
|
||||
ADD_SUBDIRECTORY(helpviewer)
|
||||
ADD_SUBDIRECTORY(browser)
|
||||
ADD_SUBDIRECTORY(plugins)
|
||||
ENDIF(WITH_DESKTOP)
|
||||
|
||||
|
@ -1,131 +0,0 @@
|
||||
|
||||
########################################################
|
||||
# Files
|
||||
|
||||
SET (BROWSER_SRCS
|
||||
main.cpp
|
||||
qgsbrowser.cpp
|
||||
)
|
||||
|
||||
SET (BROWSER_UIS qgsbrowserbase.ui)
|
||||
|
||||
SET (BROWSER_MOC_HDRS
|
||||
qgsbrowser.h
|
||||
)
|
||||
|
||||
#SET (BROWSER_RCCS qgsgps_plugin.qrc)
|
||||
|
||||
IF (WIN32)
|
||||
IF (MSVC)
|
||||
SET (BROWSER_SRCS ${BROWSER_SRCS} qgis_win32.rc)
|
||||
ELSE(MSVC)
|
||||
|
||||
# Icon for windows MINGW
|
||||
# Note: can't include .rc directly to source files
|
||||
# as it's ignored when used MinGW
|
||||
|
||||
IF (NOT WINDRES)
|
||||
FIND_PROGRAM(WINDRES windres)
|
||||
IF (NOT WINDRES)
|
||||
MESSAGE(FATAL_ERROR "windres not found - aborting")
|
||||
ENDIF (NOT WINDRES)
|
||||
ENDIF (NOT WINDRES)
|
||||
#############################################################
|
||||
# application icon
|
||||
# resource compilation for MinGW
|
||||
ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/icon.o
|
||||
COMMAND ${WINDRES} -I${CMAKE_CURRENT_SOURCE_DIR} -iqgis_win32.rc
|
||||
-o ${CMAKE_CURRENT_BINARY_DIR}/icon.o )
|
||||
SET(QGIS_APP_SRCS ${QGIS_APP_SRCS} ${CMAKE_CURRENT_BINARY_DIR}/icon.o)
|
||||
ENDIF (MSVC)
|
||||
ENDIF (WIN32)
|
||||
|
||||
SET(IMAGE_RCCS ../../images/images.qrc)
|
||||
|
||||
########################################################
|
||||
# Build
|
||||
|
||||
QT5_WRAP_UI (BROWSER_UIS_H ${BROWSER_UIS})
|
||||
|
||||
QT5_WRAP_CPP (BROWSER_MOC_SRCS ${BROWSER_MOC_HDRS})
|
||||
|
||||
QT5_ADD_RESOURCES(IMAGE_RCC_SRCS ${IMAGE_RCCS})
|
||||
#QT5_ADD_RESOURCES(BROWSER_RCC_SRCS ${BROWSER_RCCS})
|
||||
|
||||
IF(WIN32)
|
||||
SET(BROWSER_TARGET qgis_browser)
|
||||
ADD_LIBRARY(${BROWSER_TARGET} SHARED ${BROWSER_SRCS} ${BROWSER_MOC_SRCS} ${BROWSER_UIS_H} ${IMAGE_RCC_SRCS})
|
||||
ADD_EXECUTABLE(qbrowser WIN32 ../app/mainwin.cpp)
|
||||
SET_SOURCE_FILES_PROPERTIES(../app/mainwin.cpp PROPERTIES COMPILE_FLAGS -DMAINWIN_DLL=\\\"qgis_browser.dll\\\")
|
||||
ELSE(WIN32)
|
||||
SET(BROWSER_TARGET qbrowser)
|
||||
ADD_EXECUTABLE (qbrowser MACOSX_BUNDLE ${BROWSER_SRCS} ${BROWSER_MOC_SRCS} ${BROWSER_UIS_H} ${IMAGE_RCC_SRCS})
|
||||
ENDIF(WIN32)
|
||||
|
||||
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../core
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../core/geometry
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../core/raster
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../core/symbology-ng
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../gui
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../gui/attributetable
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../gui/editorwidgets
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../gui/editorwidgets/core
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../ui
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
${CMAKE_BINARY_DIR}/src/core
|
||||
${CMAKE_BINARY_DIR}/src/gui
|
||||
)
|
||||
INCLUDE_DIRECTORIES(SYSTEM
|
||||
${GEOS_INCLUDE_DIR}
|
||||
${GDAL_INCLUDE_DIR} # remove once raster layer is cleaned up
|
||||
${SQLITE3_INCLUDE_DIR}
|
||||
)
|
||||
|
||||
TARGET_LINK_LIBRARIES(${BROWSER_TARGET}
|
||||
qgis_core
|
||||
qgis_gui
|
||||
${QT_QTCORE_LIBRARY}
|
||||
${QT_QTGUI_LIBRARY}
|
||||
${QT_QTNETWORK_LIBRARY}
|
||||
${QT_QTSVG_LIBRARY}
|
||||
${QT_QTXML_LIBRARY}
|
||||
${QT_QTWEBKIT_LIBRARY}
|
||||
${SQLITE3_LIBRARY}
|
||||
)
|
||||
|
||||
IF(APPLE)
|
||||
SET_TARGET_PROPERTIES(${BROWSER_TARGET} PROPERTIES
|
||||
INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/${QGIS_LIB_DIR}
|
||||
INSTALL_RPATH_USE_LINK_PATH true
|
||||
MACOSX_BUNDLE_INFO_PLIST "${CMAKE_SOURCE_DIR}/mac/browser.info.plist.in"
|
||||
OUTPUT_NAME "QGIS Browser"
|
||||
)
|
||||
ENDIF(APPLE)
|
||||
|
||||
IF(WIN32)
|
||||
IF(MSVC)
|
||||
INSTALL(FILES browser.ico DESTINATION ${CMAKE_INSTALL_PREFIX}/icons)
|
||||
ENDIF(MSVC)
|
||||
|
||||
INSTALL (TARGETS qbrowser
|
||||
BUNDLE DESTINATION ${QGIS_BIN_DIR}
|
||||
RUNTIME DESTINATION ${QGIS_BIN_DIR}
|
||||
)
|
||||
ENDIF(WIN32)
|
||||
|
||||
########################################################
|
||||
# Install
|
||||
|
||||
INSTALL (TARGETS ${BROWSER_TARGET}
|
||||
BUNDLE DESTINATION ${QGIS_BIN_DIR}
|
||||
RUNTIME DESTINATION ${QGIS_BIN_DIR}
|
||||
)
|
||||
IF (APPLE)
|
||||
INSTALL (CODE "EXECUTE_PROCESS(COMMAND ln -sfh ../../../${QGIS_FW_SUBDIR} \"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${QGIS_BIN_DIR}/QGIS Browser.app/Contents/Frameworks\")")
|
||||
INSTALL (CODE "EXECUTE_PROCESS(COMMAND ln -sfh ../../../../${QGIS_LIB_SUBDIR} \"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${QGIS_BIN_DIR}/QGIS Browser.app/Contents/MacOS/lib\")")
|
||||
INSTALL (CODE "EXECUTE_PROCESS(COMMAND ln -sfh ../../../${QGIS_PLUGIN_SUBDIR}/.. \"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${QGIS_BIN_DIR}/QGIS Browser.app/Contents/Plugins\")")
|
||||
INSTALL (CODE "EXECUTE_PROCESS(COMMAND ln -sfh ../../../${QGIS_DATA_SUBDIR} \"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${QGIS_BIN_DIR}/QGIS Browser.app/Contents/Resources\")")
|
||||
# may not exist, unless BundleUtilities are used
|
||||
INSTALL (CODE "EXECUTE_PROCESS(COMMAND ln -sfh ../../../../share \"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${QGIS_BIN_DIR}/QGIS Browser.app/Contents/MacOS/share\")")
|
||||
ENDIF (APPLE)
|
Before Width: | Height: | Size: 88 KiB |
@ -1,132 +0,0 @@
|
||||
/***************************************************************************
|
||||
main.cpp
|
||||
Browser main method
|
||||
-------------------
|
||||
begin : 2011-04-01
|
||||
copyright : (C) 2011 Radim Blazek
|
||||
email : radim dot blazek at gmail dot com
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
***************************************************************************/
|
||||
#include <QLocale>
|
||||
#include <QSettings>
|
||||
#include <QTranslator>
|
||||
#include <QMainWindow>
|
||||
#include <QLabel>
|
||||
#include <QDialog>
|
||||
#include <QApplication>
|
||||
#include "qgsbrowser.h"
|
||||
#include "qgsapplication.h"
|
||||
#include "qgslogger.h"
|
||||
#include "qgsconfig.h"
|
||||
#include "qgsnetworkaccessmanager.h"
|
||||
#include <qmainwindow.h>
|
||||
|
||||
#include "qgseditorwidgetregistry.h"
|
||||
|
||||
#ifdef Q_OS_WIN
|
||||
__declspec( dllexport )
|
||||
#endif
|
||||
int main( int argc, char ** argv )
|
||||
{
|
||||
QSettings settings;
|
||||
|
||||
QgsApplication a( argc, argv, true );
|
||||
// update any saved setting for older themes to new default 'gis' theme (2013-04-15)
|
||||
QString theme = settings.value( QStringLiteral( "/Themes" ), "default" ).toString();
|
||||
if ( theme == QLatin1String( "gis" )
|
||||
|| theme == QLatin1String( "classic" )
|
||||
|| theme == QLatin1String( "nkids" ) )
|
||||
{
|
||||
theme = QStringLiteral( "default" );
|
||||
}
|
||||
a.setThemeName( theme );
|
||||
a.initQgis();
|
||||
a.setWindowIcon( QIcon( QgsApplication::iconsPath() + "qbrowser-icon-60x60.png" ) );
|
||||
|
||||
// Set up the QSettings environment must be done after qapp is created
|
||||
QCoreApplication::setOrganizationName( QStringLiteral( "QGIS" ) );
|
||||
QCoreApplication::setOrganizationDomain( QStringLiteral( "qgis.org" ) );
|
||||
QCoreApplication::setApplicationName( QStringLiteral( "QGIS3" ) );
|
||||
|
||||
#ifdef Q_OS_MACX
|
||||
// If the GDAL plugins are bundled with the application and GDAL_DRIVER_PATH
|
||||
// is not already defined, use the GDAL plugins in the application bundle.
|
||||
QString gdalPlugins( QCoreApplication::applicationDirPath().append( "/lib/gdalplugins" ) );
|
||||
if ( QFile::exists( gdalPlugins ) && !getenv( "GDAL_DRIVER_PATH" ) )
|
||||
{
|
||||
setenv( "GDAL_DRIVER_PATH", gdalPlugins.toUtf8(), 1 );
|
||||
}
|
||||
|
||||
// Point GDAL_DATA at any GDAL share directory embedded in the app bundle
|
||||
if ( !getenv( "GDAL_DATA" ) )
|
||||
{
|
||||
QStringList gdalShares;
|
||||
QString appResources( QDir::cleanPath( QgsApplication::pkgDataPath() ) );
|
||||
gdalShares << QCoreApplication::applicationDirPath().append( "/share/gdal" )
|
||||
<< appResources.append( "/share/gdal" )
|
||||
<< appResources.append( "/gdal" );
|
||||
Q_FOREACH ( const QString& gdalShare, gdalShares )
|
||||
{
|
||||
if ( QFile::exists( gdalShare ) )
|
||||
{
|
||||
setenv( "GDAL_DATA", gdalShare.toUtf8().constData(), 1 );
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
QString i18nPath = QgsApplication::i18nPath();
|
||||
bool myLocaleOverrideFlag = settings.value( QStringLiteral( "locale/overrideFlag" ), false ).toBool();
|
||||
QString myUserLocale = settings.value( QStringLiteral( "locale/userLocale" ), "" ).toString();
|
||||
QString myTranslationCode = !myLocaleOverrideFlag || myUserLocale.isEmpty() ? QLocale::system().name() : myUserLocale;
|
||||
|
||||
QTranslator qgistor( nullptr );
|
||||
QTranslator qttor( nullptr );
|
||||
if ( myTranslationCode != QLatin1String( "C" ) )
|
||||
{
|
||||
if ( qgistor.load( QStringLiteral( "qgis_" ) + myTranslationCode, i18nPath ) )
|
||||
{
|
||||
a.installTranslator( &qgistor );
|
||||
}
|
||||
else
|
||||
{
|
||||
qWarning( "loading of qgis translation failed [%s]", QStringLiteral( "%1/qgis_%2" ).arg( i18nPath, myTranslationCode ).toLocal8Bit().constData() );
|
||||
}
|
||||
|
||||
/* Translation file for Qt.
|
||||
* The strings from the QMenuBar context section are used by Qt/Mac to shift
|
||||
* the About, Preferences and Quit items to the Mac Application menu.
|
||||
* These items must be translated identically in both qt_ and qgis_ files.
|
||||
*/
|
||||
if ( qttor.load( QStringLiteral( "qt_" ) + myTranslationCode, QLibraryInfo::location( QLibraryInfo::TranslationsPath ) ) )
|
||||
{
|
||||
a.installTranslator( &qttor );
|
||||
}
|
||||
else
|
||||
{
|
||||
qWarning( "loading of qt translation failed [%s]", QStringLiteral( "%1/qt_%2" ).arg( QLibraryInfo::location( QLibraryInfo::TranslationsPath ), myTranslationCode ).toLocal8Bit().constData() );
|
||||
}
|
||||
}
|
||||
|
||||
QgsBrowser w;
|
||||
|
||||
a.connect( &a, SIGNAL( aboutToQuit() ), &w, SLOT( saveWindowState() ) );
|
||||
w.restoreWindowState();
|
||||
|
||||
w.show();
|
||||
|
||||
a.connect( &a, SIGNAL( lastWindowClosed() ), &a, SLOT( quit() ) );
|
||||
|
||||
QgsEditorWidgetRegistry::initEditors();
|
||||
|
||||
return a.exec();
|
||||
}
|
@ -1 +0,0 @@
|
||||
IDI_ICON1 ICON DISCARDABLE "browser.ico"
|
@ -1,547 +0,0 @@
|
||||
/***************************************************************************
|
||||
qgsbrowser.cpp -
|
||||
-------------------
|
||||
begin : 2011-04-01
|
||||
copyright : (C) 2011 Radim Blazek
|
||||
email : radim dot blazek at gmail dot com
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
***************************************************************************/
|
||||
#include <QSettings>
|
||||
#include <QMessageBox>
|
||||
#include <QKeyEvent>
|
||||
#include <QMetaObject>
|
||||
|
||||
#include "qgsapplication.h"
|
||||
#include "qgsdataitem.h"
|
||||
#include "qgsbrowser.h"
|
||||
#include "qgsbrowsermodel.h"
|
||||
#include "qgsencodingfiledialog.h"
|
||||
#include "qgsgenericprojectionselector.h"
|
||||
#include "qgslogger.h"
|
||||
#include "qgsconditionalstyle.h"
|
||||
#include "qgsproject.h"
|
||||
#include "qgsmaptoolpan.h"
|
||||
#include "qgsproviderregistry.h"
|
||||
#include "qgsvectorlayer.h"
|
||||
#include "qgsrasterlayer.h"
|
||||
#include "qgsnewvectorlayerdialog.h"
|
||||
#include "qgsattributetablemodel.h"
|
||||
#include "qgsattributetablefiltermodel.h"
|
||||
#include "qgscredentialdialog.h"
|
||||
#include "qgsrasterdataprovider.h"
|
||||
|
||||
#ifdef ANDROID
|
||||
#define QGIS_ICON_SIZE 32
|
||||
#else
|
||||
#define QGIS_ICON_SIZE 24
|
||||
#endif
|
||||
|
||||
QgsBrowser::QgsBrowser( QWidget *parent, Qt::WindowFlags flags )
|
||||
: QMainWindow( parent, flags )
|
||||
, mDirtyMetadata( true )
|
||||
, mDirtyPreview( true )
|
||||
, mDirtyAttributes( true )
|
||||
, mLayer( nullptr )
|
||||
, mParamWidget( nullptr )
|
||||
, mAttributeTableFilterModel( nullptr )
|
||||
{
|
||||
setupUi( this );
|
||||
|
||||
mMapToolPan.reset( new QgsMapToolPan( mapCanvas ) );
|
||||
mapCanvas->setMapTool( mMapToolPan.get() );
|
||||
|
||||
// Disable tabs by default
|
||||
tabWidget->setTabEnabled( tabWidget->indexOf( paramTab ), false );
|
||||
tabWidget->setTabEnabled( tabWidget->indexOf( metaTab ), false );
|
||||
tabWidget->setTabEnabled( tabWidget->indexOf( previewTab ), false );
|
||||
tabWidget->setTabEnabled( tabWidget->indexOf( attributesTab ), false );
|
||||
|
||||
mModel = new QgsBrowserModel( treeView );
|
||||
treeView->setModel( mModel );
|
||||
|
||||
// Last expanded is stored, don't cover whole height with file system
|
||||
//treeView->expand( mModel->index(0,0) );
|
||||
|
||||
connect( treeView, SIGNAL( clicked( const QModelIndex& ) ), this, SLOT( itemClicked( const QModelIndex& ) ) );
|
||||
|
||||
treeView->setExpandsOnDoubleClick( false );
|
||||
connect( treeView, SIGNAL( doubleClicked( const QModelIndex& ) ), this, SLOT( itemDoubleClicked( const QModelIndex& ) ) );
|
||||
connect( treeView, SIGNAL( expanded( const QModelIndex& ) ), this, SLOT( itemExpanded( const QModelIndex& ) ) );
|
||||
|
||||
connect( tabWidget, SIGNAL( currentChanged( int ) ), this, SLOT( tabChanged() ) );
|
||||
|
||||
connect( mActionNewVectorLayer, SIGNAL( triggered() ), this, SLOT( newVectorLayer() ) );
|
||||
|
||||
connect( stopRenderingButton, SIGNAL( clicked() ), this, SLOT( stopRendering() ) );
|
||||
|
||||
mapCanvas->setCanvasColor( Qt::white );
|
||||
|
||||
//Set the icon size of for all the toolbars created in the future.
|
||||
QSettings settings;
|
||||
int size = settings.value( QStringLiteral( "/IconSize" ), QGIS_ICON_SIZE ).toInt();
|
||||
setIconSize( QSize( size, size ) );
|
||||
|
||||
//Change all current icon sizes.
|
||||
QList<QToolBar *> toolbars = findChildren<QToolBar *>();
|
||||
Q_FOREACH ( QToolBar * toolbar, toolbars )
|
||||
{
|
||||
toolbar->setIconSize( QSize( size, size ) );
|
||||
}
|
||||
|
||||
// set graphical credential requester
|
||||
new QgsCredentialDialog( this );
|
||||
}
|
||||
|
||||
QgsBrowser::~QgsBrowser()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void QgsBrowser::expandPath( const QString& path )
|
||||
{
|
||||
QModelIndex idx = mModel->findPath( path );
|
||||
if ( idx.isValid() )
|
||||
{
|
||||
treeView->expand( idx );
|
||||
treeView->scrollTo( idx, QAbstractItemView::PositionAtTop );
|
||||
}
|
||||
}
|
||||
|
||||
void QgsBrowser::itemClicked( const QModelIndex& index )
|
||||
{
|
||||
mIndex = index;
|
||||
|
||||
QgsDataItem *item = mModel->dataItem( index );
|
||||
if ( !item )
|
||||
return;
|
||||
|
||||
// Disable preview, attributes tab
|
||||
|
||||
bool paramEnable = false;
|
||||
bool metaEnable = false;
|
||||
bool previewEnable = false;
|
||||
bool attributesEnable = false;
|
||||
|
||||
// mark all tabs as dirty
|
||||
mDirtyMetadata = true;
|
||||
mDirtyPreview = true;
|
||||
mDirtyAttributes = true;
|
||||
|
||||
// clear the previous stuff
|
||||
setLayer( nullptr );
|
||||
|
||||
mapCanvas->setLayers( QList<QgsMapLayer*>() );
|
||||
metaTextBrowser->clear();
|
||||
if ( mParamWidget )
|
||||
{
|
||||
paramLayout->removeWidget( mParamWidget );
|
||||
mParamWidget->hide();
|
||||
delete mParamWidget;
|
||||
mParamWidget = nullptr;
|
||||
}
|
||||
|
||||
// QgsProject deletes the previous layer(s) for us
|
||||
// TODO: in future we could cache the layers in the registry
|
||||
QgsProject::instance()->removeAllMapLayers();
|
||||
mLayer = nullptr;
|
||||
|
||||
// this should probably go to the model and only emit signal when a layer is clicked
|
||||
mParamWidget = item->paramWidget();
|
||||
if ( mParamWidget )
|
||||
{
|
||||
paramLayout->addWidget( mParamWidget );
|
||||
mParamWidget->show();
|
||||
paramEnable = true;
|
||||
}
|
||||
|
||||
QgsLayerItem *layerItem = qobject_cast<QgsLayerItem*>( mModel->dataItem( index ) );
|
||||
if ( layerItem )
|
||||
{
|
||||
bool res = layerClicked( layerItem );
|
||||
|
||||
if ( res )
|
||||
{
|
||||
metaEnable = true;
|
||||
previewEnable = true;
|
||||
if ( mLayer->type() == QgsMapLayer::VectorLayer )
|
||||
{
|
||||
attributesEnable = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
mActionSetProjection->setEnabled( false );
|
||||
}
|
||||
|
||||
// force update of the current tab
|
||||
updateCurrentTab();
|
||||
|
||||
int selected = -1;
|
||||
if ( mLastTab.contains( item->metaObject()->className() ) )
|
||||
{
|
||||
selected = mLastTab[ item->metaObject()->className()];
|
||||
}
|
||||
|
||||
// Enabling tabs call tabChanged !
|
||||
tabWidget->setTabEnabled( tabWidget->indexOf( paramTab ), paramEnable );
|
||||
tabWidget->setTabEnabled( tabWidget->indexOf( metaTab ), metaEnable );
|
||||
tabWidget->setTabEnabled( tabWidget->indexOf( previewTab ), previewEnable );
|
||||
tabWidget->setTabEnabled( tabWidget->indexOf( attributesTab ), attributesEnable );
|
||||
|
||||
// select tab according last selection for this data item
|
||||
if ( selected >= 0 )
|
||||
{
|
||||
QgsDebugMsg( QString( "set tab %1 %2" ).arg( item->metaObject()->className() ).arg( selected ) );
|
||||
tabWidget->setCurrentIndex( selected );
|
||||
}
|
||||
|
||||
QgsDebugMsg( QString( "clicked: %1 %2 %3" ).arg( index.row() ).arg( index.column() ).arg( item->name() ) );
|
||||
}
|
||||
|
||||
bool QgsBrowser::layerClicked( QgsLayerItem *item )
|
||||
{
|
||||
if ( !item )
|
||||
return false;
|
||||
|
||||
mActionSetProjection->setEnabled( item->capabilities2().testFlag( QgsLayerItem::SetCrs ) );
|
||||
|
||||
QString uri = item->uri();
|
||||
if ( !uri.isEmpty() )
|
||||
{
|
||||
QgsMapLayer::LayerType type = item->mapLayerType();
|
||||
QString providerKey = item->providerKey();
|
||||
|
||||
QgsDebugMsg( providerKey + " : " + uri );
|
||||
if ( type == QgsMapLayer::VectorLayer )
|
||||
{
|
||||
mLayer = new QgsVectorLayer( uri, QString(), providerKey );
|
||||
}
|
||||
if ( type == QgsMapLayer::RasterLayer )
|
||||
{
|
||||
mLayer = new QgsRasterLayer( uri, QLatin1String( "" ), providerKey );
|
||||
}
|
||||
}
|
||||
|
||||
if ( !mLayer || !mLayer->isValid() )
|
||||
{
|
||||
qDebug( "No layer" );
|
||||
return false;
|
||||
}
|
||||
|
||||
QgsDebugMsg( "Layer created" );
|
||||
|
||||
QgsProject::instance()->addMapLayers(
|
||||
QList<QgsMapLayer *>() << mLayer );
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
void QgsBrowser::itemDoubleClicked( const QModelIndex& index )
|
||||
{
|
||||
QgsDataItem *item = mModel->dataItem( index );
|
||||
if ( !item )
|
||||
return;
|
||||
|
||||
// Currently doing nothing
|
||||
QgsDebugMsg( QString( "%1 %2 %3" ).arg( index.row() ).arg( index.column() ).arg( item->name() ) );
|
||||
}
|
||||
|
||||
void QgsBrowser::newVectorLayer()
|
||||
{
|
||||
// Set file dialog to last selected dir
|
||||
QModelIndex selectedIndex = treeView->selectionModel()->currentIndex();
|
||||
if ( selectedIndex.isValid() )
|
||||
{
|
||||
QgsDirectoryItem * dirItem = qobject_cast<QgsDirectoryItem *>( mModel->dataItem( selectedIndex ) );
|
||||
if ( dirItem )
|
||||
{
|
||||
QSettings settings;
|
||||
settings.setValue( QStringLiteral( "/UI/lastVectorFileFilterDir" ), dirItem->dirPath() );
|
||||
}
|
||||
}
|
||||
|
||||
QString fileName = QgsNewVectorLayerDialog::runAndCreateLayer( this );
|
||||
|
||||
if ( !fileName.isEmpty() )
|
||||
{
|
||||
QgsDebugMsg( "New vector layer: " + fileName );
|
||||
expandPath( fileName );
|
||||
QFileInfo fileInfo( fileName );
|
||||
QString dirPath = fileInfo.absoluteDir().path();
|
||||
mModel->refresh( dirPath );
|
||||
}
|
||||
}
|
||||
|
||||
void QgsBrowser::on_mActionWmsConnections_triggered()
|
||||
{
|
||||
QDialog *wmss = dynamic_cast<QDialog*>( QgsProviderRegistry::instance()->selectWidget( QStringLiteral( "wms" ), this ) );
|
||||
if ( !wmss )
|
||||
{
|
||||
QMessageBox::warning( this, tr( "WMS" ), tr( "Cannot get WMS select dialog from provider." ) );
|
||||
return;
|
||||
}
|
||||
wmss->exec();
|
||||
delete wmss;
|
||||
// TODO: refresh only WMS
|
||||
refresh();
|
||||
}
|
||||
|
||||
void QgsBrowser::on_mActionSetProjection_triggered()
|
||||
{
|
||||
if ( !mLayer )
|
||||
return;
|
||||
|
||||
QgsGenericProjectionSelector * mySelector = new QgsGenericProjectionSelector( this );
|
||||
mySelector->setMessage();
|
||||
mySelector->setSelectedCrsId( mLayer->crs().srsid() );
|
||||
if ( mySelector->exec() )
|
||||
{
|
||||
QgsCoordinateReferenceSystem srs = QgsCoordinateReferenceSystem::fromSrsId( mySelector->selectedCrsId() );
|
||||
|
||||
// TODO: open data source in write mode set crs and save
|
||||
#if 0
|
||||
mLayer->setCrs( srs );
|
||||
// Is this safe?
|
||||
// selectedIndexes() is protected
|
||||
#endif
|
||||
|
||||
QgsDataItem *item = mModel->dataItem( mIndex );
|
||||
QgsLayerItem *layerItem = qobject_cast<QgsLayerItem*>( item );
|
||||
if ( layerItem )
|
||||
{
|
||||
if ( !layerItem->setCrs( srs ) )
|
||||
{
|
||||
QMessageBox::critical( this, tr( "CRS" ), tr( "Cannot set layer CRS" ) );
|
||||
}
|
||||
}
|
||||
QgsDebugMsg( srs.authid() + " - " + srs.description() );
|
||||
}
|
||||
else
|
||||
{
|
||||
QApplication::restoreOverrideCursor();
|
||||
}
|
||||
|
||||
delete mySelector;
|
||||
}
|
||||
|
||||
void QgsBrowser::saveWindowState()
|
||||
{
|
||||
QSettings settings;
|
||||
settings.setValue( QStringLiteral( "/Windows/Browser/state" ), saveState() );
|
||||
settings.setValue( QStringLiteral( "/Windows/Browser/geometry" ), saveGeometry() );
|
||||
settings.setValue( QStringLiteral( "/Windows/Browser/sizes/0" ), splitter->sizes().at( 0 ) );
|
||||
settings.setValue( QStringLiteral( "/Windows/Browser/sizes/1" ), splitter->sizes().at( 1 ) );
|
||||
}
|
||||
|
||||
void QgsBrowser::restoreWindowState()
|
||||
{
|
||||
QSettings settings;
|
||||
if ( !restoreState( settings.value( QStringLiteral( "/Windows/Browser/state" ) ).toByteArray() ) )
|
||||
{
|
||||
QgsDebugMsg( "restore of UI state failed" );
|
||||
}
|
||||
if ( !restoreGeometry( settings.value( QStringLiteral( "/Windows/Browser/geometry" ) ).toByteArray() ) )
|
||||
{
|
||||
QgsDebugMsg( "restore of UI geometry failed" );
|
||||
}
|
||||
int size0 = settings.value( QStringLiteral( "/Windows/Browser/sizes/0" ) ).toInt();
|
||||
if ( size0 > 0 )
|
||||
{
|
||||
|
||||
QList<int> sizes;
|
||||
sizes << size0;
|
||||
sizes << settings.value( QStringLiteral( "/Windows/Browser/sizes/1" ) ).toInt();
|
||||
QgsDebugMsg( QString( "set splitter sizes to %1 %2" ).arg( sizes[0] ).arg( sizes[1] ) );
|
||||
splitter->setSizes( sizes );
|
||||
}
|
||||
}
|
||||
|
||||
void QgsBrowser::keyPressEvent( QKeyEvent * e )
|
||||
{
|
||||
if ( e->key() == Qt::Key_Escape )
|
||||
{
|
||||
stopRendering();
|
||||
}
|
||||
else
|
||||
{
|
||||
e->ignore();
|
||||
}
|
||||
}
|
||||
|
||||
void QgsBrowser::keyReleaseEvent( QKeyEvent * e )
|
||||
{
|
||||
if ( treeView->hasFocus() && ( e->key() == Qt::Key_Up || e->key() == Qt::Key_Down ) )
|
||||
{
|
||||
itemClicked( treeView->selectionModel()->currentIndex() );
|
||||
}
|
||||
else
|
||||
{
|
||||
e->ignore();
|
||||
}
|
||||
}
|
||||
|
||||
void QgsBrowser::stopRendering()
|
||||
{
|
||||
if ( mapCanvas )
|
||||
mapCanvas->stopRendering();
|
||||
}
|
||||
|
||||
QgsBrowser::Tab QgsBrowser::activeTab()
|
||||
{
|
||||
QWidget* curr = tabWidget->currentWidget();
|
||||
if ( curr == metaTab )
|
||||
return Metadata;
|
||||
if ( curr == previewTab )
|
||||
return Preview;
|
||||
return Attributes;
|
||||
}
|
||||
|
||||
void QgsBrowser::updateCurrentTab()
|
||||
{
|
||||
// update contents of the current tab
|
||||
|
||||
Tab current = activeTab();
|
||||
|
||||
if ( current == Metadata && mDirtyMetadata )
|
||||
{
|
||||
if ( mLayer && mLayer->isValid() )
|
||||
{
|
||||
// Set meta
|
||||
QString myStyle = QgsApplication::reportStyleSheet();
|
||||
|
||||
metaTextBrowser->document()->setDefaultStyleSheet( myStyle );
|
||||
metaTextBrowser->setHtml( mLayer->metadata() );
|
||||
}
|
||||
else
|
||||
{
|
||||
metaTextBrowser->setHtml( QString() );
|
||||
}
|
||||
mDirtyMetadata = false;
|
||||
}
|
||||
|
||||
if ( current == Preview && mDirtyPreview )
|
||||
{
|
||||
if ( mLayer && mLayer->isValid() )
|
||||
{
|
||||
// Create preview: add to map canvas
|
||||
mapCanvas->setLayers( QList<QgsMapLayer*>() << mLayer );
|
||||
QgsRectangle fullExtent = mLayer->extent();
|
||||
fullExtent.scale( 1.05 ); // add some border
|
||||
mapCanvas->setExtent( fullExtent );
|
||||
mapCanvas->refresh();
|
||||
|
||||
QgsRasterLayer *rlayer = qobject_cast< QgsRasterLayer * >( mLayer );
|
||||
if ( rlayer )
|
||||
{
|
||||
connect( rlayer->dataProvider(), &QgsRasterDataProvider::dataChanged, rlayer, [rlayer] { rlayer->triggerRepaint(); } );
|
||||
connect( rlayer->dataProvider(), &QgsRasterDataProvider::dataChanged, mapCanvas, &QgsMapCanvas::refresh );
|
||||
}
|
||||
}
|
||||
mDirtyPreview = false;
|
||||
}
|
||||
|
||||
if ( current == Attributes && mDirtyAttributes )
|
||||
{
|
||||
if ( mLayer && mLayer->isValid() && mLayer->type() == QgsMapLayer::VectorLayer )
|
||||
{
|
||||
QgsVectorLayer* vlayer = qobject_cast<QgsVectorLayer*>( mLayer );
|
||||
QApplication::setOverrideCursor( Qt::WaitCursor );
|
||||
setLayer( vlayer );
|
||||
QApplication::restoreOverrideCursor();
|
||||
}
|
||||
else
|
||||
{
|
||||
setLayer( nullptr );
|
||||
}
|
||||
mDirtyAttributes = false;
|
||||
}
|
||||
}
|
||||
|
||||
void QgsBrowser::tabChanged()
|
||||
{
|
||||
updateCurrentTab();
|
||||
// Store last selected tab for selected data item
|
||||
if ( mIndex.isValid() )
|
||||
{
|
||||
QgsDataItem *item = mModel->dataItem( mIndex );
|
||||
if ( !item )
|
||||
return;
|
||||
|
||||
QgsDebugMsg( QString( "save last tab %1 : %2" ).arg( item->metaObject()->className() ).arg( tabWidget->currentIndex() ) );
|
||||
mLastTab[ item->metaObject()->className()] = tabWidget->currentIndex();
|
||||
}
|
||||
}
|
||||
|
||||
void QgsBrowser::on_mActionRefresh_triggered()
|
||||
{
|
||||
refresh();
|
||||
}
|
||||
|
||||
void QgsBrowser::refresh( const QModelIndex& index )
|
||||
{
|
||||
if ( index.isValid() )
|
||||
{
|
||||
QgsDataItem *item = mModel->dataItem( index );
|
||||
if ( item )
|
||||
{
|
||||
QgsDebugMsg( "path = " + item->path() );
|
||||
}
|
||||
else
|
||||
{
|
||||
QgsDebugMsg( "invalid item" );
|
||||
}
|
||||
}
|
||||
|
||||
mModel->refresh( index );
|
||||
|
||||
for ( int i = 0 ; i < mModel->rowCount( index ); i++ )
|
||||
{
|
||||
QModelIndex idx = mModel->index( i, 0, index );
|
||||
if ( treeView->isExpanded( idx ) || !mModel->hasChildren( idx ) )
|
||||
{
|
||||
refresh( idx );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void QgsBrowser::setLayer( QgsVectorLayer* vLayer )
|
||||
{
|
||||
attributeTable->setModel( nullptr );
|
||||
|
||||
if ( mAttributeTableFilterModel )
|
||||
{
|
||||
// Cleanup
|
||||
delete mAttributeTableFilterModel;
|
||||
mAttributeTableFilterModel = nullptr;
|
||||
}
|
||||
|
||||
if ( vLayer )
|
||||
{
|
||||
// Initialize the cache
|
||||
QSettings settings;
|
||||
int cacheSize = qMax( 1, settings.value( QStringLiteral( "/qgis/attributeTableRowCache" ), "10000" ).toInt() );
|
||||
QgsVectorLayerCache* layerCache = new QgsVectorLayerCache( vLayer, cacheSize, this );
|
||||
layerCache->setCacheGeometry( false );
|
||||
|
||||
QgsAttributeTableModel *tableModel = new QgsAttributeTableModel( layerCache );
|
||||
|
||||
mAttributeTableFilterModel = new QgsAttributeTableFilterModel( nullptr, tableModel, this );
|
||||
|
||||
// Let Qt do the garbage collection
|
||||
layerCache->setParent( tableModel );
|
||||
tableModel->setParent( mAttributeTableFilterModel );
|
||||
|
||||
attributeTable->setModel( mAttributeTableFilterModel );
|
||||
tableModel->loadLayer();
|
||||
}
|
||||
}
|
@ -1,89 +0,0 @@
|
||||
/***************************************************************************
|
||||
qgsbrowser.h - Data sources browser
|
||||
-------------------
|
||||
begin : 2011-04-01
|
||||
copyright : (C) 2011 Radim Blazek
|
||||
email : radim dot blazek at gmail dot com
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
***************************************************************************/
|
||||
#ifndef QGSBROWSER_H
|
||||
#define QGSBROWSER_H
|
||||
|
||||
#include <QMainWindow>
|
||||
#include <QMap>
|
||||
#include <QModelIndex>
|
||||
#include "ui_qgsbrowserbase.h"
|
||||
|
||||
class QgsBrowserModel;
|
||||
class QgsLayerItem;
|
||||
class QgsMapLayer;
|
||||
class QgsMapToolPan;
|
||||
|
||||
class QgsBrowser : public QMainWindow, private Ui::QgsBrowserBase
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
QgsBrowser( QWidget *parent = nullptr, Qt::WindowFlags flags = 0 );
|
||||
~QgsBrowser();
|
||||
|
||||
// Expand to given path
|
||||
void expandPath( const QString& path );
|
||||
void setLayer( QgsVectorLayer* vLayer );
|
||||
|
||||
|
||||
public slots:
|
||||
void itemClicked( const QModelIndex& index );
|
||||
void itemDoubleClicked( const QModelIndex& index );
|
||||
void on_mActionSetProjection_triggered();
|
||||
void on_mActionWmsConnections_triggered();
|
||||
void on_mActionRefresh_triggered();
|
||||
void newVectorLayer();
|
||||
|
||||
void saveWindowState();
|
||||
void restoreWindowState();
|
||||
|
||||
void tabChanged();
|
||||
void updateCurrentTab();
|
||||
void stopRendering();
|
||||
|
||||
// Refresh all leaf or expanded items
|
||||
void refresh( const QModelIndex& index = QModelIndex() );
|
||||
|
||||
protected:
|
||||
void keyPressEvent( QKeyEvent * e ) override;
|
||||
void keyReleaseEvent( QKeyEvent * e ) override;
|
||||
|
||||
bool layerClicked( QgsLayerItem* ptr );
|
||||
|
||||
enum Tab
|
||||
{
|
||||
Metadata,
|
||||
Preview,
|
||||
Attributes
|
||||
};
|
||||
Tab activeTab();
|
||||
|
||||
bool mDirtyMetadata, mDirtyPreview, mDirtyAttributes;
|
||||
|
||||
QgsBrowserModel* mModel = nullptr;
|
||||
QgsMapLayer *mLayer = nullptr;
|
||||
QModelIndex mIndex;
|
||||
QWidget *mParamWidget = nullptr;
|
||||
// last (selected) tab for each
|
||||
QMap<QString, int> mLastTab;
|
||||
QgsAttributeTableFilterModel* mAttributeTableFilterModel = nullptr;
|
||||
|
||||
private:
|
||||
|
||||
std::unique_ptr< QgsMapToolPan > mMapToolPan;
|
||||
};
|
||||
|
||||
#endif // QGSBROWSER_H
|
@ -1,258 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>QgsBrowserBase</class>
|
||||
<widget class="QMainWindow" name="QgsBrowserBase">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>712</width>
|
||||
<height>469</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="contextMenuPolicy">
|
||||
<enum>Qt::NoContextMenu</enum>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>QGIS Browser</string>
|
||||
</property>
|
||||
<widget class="QWidget" name="centralwidget">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QSplitter" name="splitter">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>696</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<widget class="QgsBrowserTreeView" name="treeView">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
|
||||
<horstretch>1</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="dragEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="dragDropMode">
|
||||
<enum>QAbstractItemView::DragOnly</enum>
|
||||
</property>
|
||||
<attribute name="headerVisible">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
</widget>
|
||||
<widget class="QTabWidget" name="tabWidget">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||
<horstretch>3</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="paramTab">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<attribute name="title">
|
||||
<string>Param</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_5">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="paramLayout"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="metaTab">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<attribute name="title">
|
||||
<string>Metadata</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QTextBrowser" name="metaTextBrowser"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="previewTab">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<attribute name="title">
|
||||
<string>Preview</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="QgsMapCanvas" name="mapCanvas"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QWidget" name="widget" native="true">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>370</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="stopRenderingButton">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Stop rendering</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="attributesTab">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<attribute name="title">
|
||||
<string>Attributes</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QgsAttributeTableView" name="attributeTable"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QToolBar" name="toolBar">
|
||||
<property name="windowTitle">
|
||||
<string>toolBar</string>
|
||||
</property>
|
||||
<property name="movable">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="toolButtonStyle">
|
||||
<enum>Qt::ToolButtonTextBesideIcon</enum>
|
||||
</property>
|
||||
<property name="floatable">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<attribute name="toolBarArea">
|
||||
<enum>TopToolBarArea</enum>
|
||||
</attribute>
|
||||
<attribute name="toolBarBreak">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
<addaction name="mActionRefresh"/>
|
||||
<addaction name="mActionWmsConnections"/>
|
||||
<addaction name="mActionNewVectorLayer"/>
|
||||
<addaction name="mActionSetProjection"/>
|
||||
</widget>
|
||||
<action name="mActionNewVectorLayer">
|
||||
<property name="icon">
|
||||
<iconset resource="../../images/images.qrc">
|
||||
<normaloff>:/images/themes/default/mActionNewVectorLayer.svg</normaloff>:/images/themes/default/mActionNewVectorLayer.svg</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>New Shapefile</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string>Ctrl+Shift+N</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="mActionRefresh">
|
||||
<property name="icon">
|
||||
<iconset resource="../../images/images.qrc">
|
||||
<normaloff>:/images/themes/default/mActionDraw.svg</normaloff>:/images/themes/default/mActionDraw.svg</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Refresh</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string>F5</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="mActionSetProjection">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../images/images.qrc">
|
||||
<normaloff>:/images/themes/default/mActionSetProjection.svg</normaloff>:/images/themes/default/mActionSetProjection.svg</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Set layer CRS</string>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Set layer CRS</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="mActionWmsConnections">
|
||||
<property name="icon">
|
||||
<iconset resource="../../images/images.qrc">
|
||||
<normaloff>:/images/themes/default/mActionAddWmsLayer.svg</normaloff>:/images/themes/default/mActionAddWmsLayer.svg</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Manage WMS</string>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Manage WMS Connections</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string>Ctrl+Shift+W</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>QgsMapCanvas</class>
|
||||
<extends>QGraphicsView</extends>
|
||||
<header>qgsmapcanvas.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>QgsAttributeTableView</class>
|
||||
<extends>QTableView</extends>
|
||||
<header>qgsattributetableview.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources>
|
||||
<include location="../../images/images.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
@ -113,7 +113,7 @@
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../../images/images.qrc">
|
||||
<normaloff>:/images/icons/qbrowser-icon-60x60.png</normaloff>:/images/icons/qbrowser-icon-60x60.png</iconset>
|
||||
<normaloff>:/images/icons/qbrowser_icon.svg</normaloff>:/images/icons/qbrowser_icon.svg</iconset>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
|