qgis/Quantum-GIS — pull request #106 by etiennesky (2012-03-26 15:42:13+00:00)
Title: legend, browser and provider goodies

This pull request consists of several improvements/bugfixes for layers legend, browser dock and gdal/ogr providers.

Please add this to 1.8 branch, there are some api improvements but none break api compat (unless I am mistaken).

Thanks

A) Legend
583c1b8c	legend: add new groups with unique names (group1,group2, etc.)…
3db7fc47	remove selected layers+groups when right-click [Remove] on group, ins…
5bc71a88	qgslegend: emit proper signals in groupSelectedLayers and fix prototy…

B) Browser UI
50955d55	browser and dataitems - show wait cursor when loading
0cc850a1	browser: add collapse all button
8fb873b0	add simple layer properties dialog to browser dock (source, provider …
2a86716f	add missing icons for raster and vector collections in themes/default
5aa97c37	sort items in browser dock: sort items by type, so directories are be…
ad5cb825	group favourites in top-level item (when there are 5 or more favourit…

C) gdal/ogr providers
f801deca	cache gdal sublayers list for subsequent access
af772d94	add preliminary support for GDAL/OGR VSIFileHandler (.zip and .gz fil…
b6187b9d	add quazip for zip file read support

D) providers / browser
fdaf0e13	add support for reading datasets inside zip file in browser using qua…
f87ca8df	add option to bypass dataset scanning in browser dock

Commits that may be contentious

fdaf0e13	add support for reading datasets inside zip file in browser using qua…
b6187b9d	add quazip for zip file read support

These commits allow for viewing the contents of zip files in the browser using quazip, and creating appropriate /vsizip/file.zip/layer items. This is supported by gdal/ogr since 1.6 and can be pretty handy. I have added quazip to support zip file reading, it may be overkill but it is a nice cross-platform QT interface to minizip. The license is LGPL and I have imported the files directly instead of adding an additional dependency. It is very light and compiles instantly.

5bc71a88	qgslegend: emit proper signals in groupSelectedLayers and fix prototy…

I have added signals to qgslegend and qgslegendinterface because there is no way a plugin can be informed of when a new group is created and when group relationships change.