[QGIS Commit] r14897 - in trunk/qgis: images images/themes/default
python python/plugins/GdalTools python/plugins/fTools
python/plugins/fTools/icons python/plugins/mapserver_export
python/plugins/osm python/plugins/plugin_installer src/app
src/gui src/plugins src/plugins/coordinate_capture
src/plugins/copyright_label src/plugins/delimited_text
src/plugins/dxf2shp_converter src/plugins/geoprocessing
src/plugins/georeferencer src/plugins/gps_importer
src/plugins/grass src/plugins/interpolation
src/plugins/north_arrow src/plugins/offline_editing
src/plugins/ogr_converter src/plugins/oracle_raster
src/plugins/plugin_template src/plugins/quick_print
src/plugins/raster_terrain_analysis src/plugins/scale_bar
src/plugins/spatialquery src/plugins/spit src/plugins/wfs
svn_qgis at osgeo.org
svn_qgis at osgeo.org
Sun Dec 12 14:19:54 EST 2010
Author: wonder
Date: 2010-12-12 11:19:54 -0800 (Sun, 12 Dec 2010)
New Revision: 14897
Added:
trunk/qgis/images/themes/default/plugin.png
trunk/qgis/python/plugins/fTools/icons/logo_small.png
Modified:
trunk/qgis/images/images.qrc
trunk/qgis/python/plugins/GdalTools/__init__.py
trunk/qgis/python/plugins/fTools/__init__.py
trunk/qgis/python/plugins/fTools/icons/CMakeLists.txt
trunk/qgis/python/plugins/mapserver_export/__init__.py
trunk/qgis/python/plugins/osm/__init__.py
trunk/qgis/python/plugins/plugin_installer/__init__.py
trunk/qgis/python/utils.py
trunk/qgis/src/app/qgspluginmanager.cpp
trunk/qgis/src/gui/qgsdetaileditemdelegate.cpp
trunk/qgis/src/plugins/coordinate_capture/coordinatecapture.cpp
trunk/qgis/src/plugins/copyright_label/plugin.cpp
trunk/qgis/src/plugins/delimited_text/qgsdelimitedtextplugin.cpp
trunk/qgis/src/plugins/dxf2shp_converter/dxf2shpconverter.cpp
trunk/qgis/src/plugins/geoprocessing/qgspggeoprocessing.cpp
trunk/qgis/src/plugins/georeferencer/qgsgeorefplugin.cpp
trunk/qgis/src/plugins/gps_importer/qgsgpsplugin.cpp
trunk/qgis/src/plugins/grass/qgsgrassplugin.cpp
trunk/qgis/src/plugins/interpolation/qgsinterpolationplugin.cpp
trunk/qgis/src/plugins/north_arrow/plugin.cpp
trunk/qgis/src/plugins/offline_editing/offline_editing_plugin.cpp
trunk/qgis/src/plugins/ogr_converter/plugin.cpp
trunk/qgis/src/plugins/oracle_raster/qgsoracle_plugin.cpp
trunk/qgis/src/plugins/plugin_template/plugin.cpp
trunk/qgis/src/plugins/qgisplugin.h
trunk/qgis/src/plugins/quick_print/quickprintplugin.cpp
trunk/qgis/src/plugins/raster_terrain_analysis/qgsrasterterrainanalysisplugin.cpp
trunk/qgis/src/plugins/scale_bar/plugin.cpp
trunk/qgis/src/plugins/spatialquery/qgsspatialqueryplugin.cpp
trunk/qgis/src/plugins/spit/qgsspitplugin.cpp
trunk/qgis/src/plugins/wfs/qgswfsplugin.cpp
Log:
[FEATURE] Support for icons of plugins in the plugin manager dialog.
Both C++ and Python plugins now can implement icon() metadata function which returns path to the icon file name.
The icon file is passed to QPixmap() constructor. For C++ it's preferred to use an icon from the resource file
(e.g. ":/plugins/foo/foo_icon.png") because plugin's resource file gets loaded automatically when the plugin is loaded.
Python plugins can use either relative path to the icon ("images/plugin-icon.png") or icon from the resource file
(starting with a colon). The relative path is preferred, since it doesn't require the plugin to load its resource file
and plugin repository will not have a trouble to fetch the icon automatically.
Updated C++ plugins and Python plugins to include icon where applicable.
Default plugin icon is (c) Anna Shlyapnikova, licensed under Creative Commons (Attribution 3.0 Unported).
Modified: trunk/qgis/images/images.qrc
===================================================================
--- trunk/qgis/images/images.qrc 2010-12-12 18:28:34 UTC (rev 14896)
+++ trunk/qgis/images/images.qrc 2010-12-12 19:19:54 UTC (rev 14897)
@@ -247,6 +247,7 @@
<file>themes/default/mIconUnknownLayerType.png</file>
<file>themes/default/mIconWaitingForLayerType.png</file>
<file>themes/default/mMapserverExport.png</file>
+ <file>themes/default/plugin.png</file>
<file>themes/default/rendererCategorizedSymbol.png</file>
<file>themes/default/rendererGraduatedSymbol.png</file>
<file>themes/default/rendererSingleSymbol.png</file>
Added: trunk/qgis/images/themes/default/plugin.png
===================================================================
(Binary files differ)
Property changes on: trunk/qgis/images/themes/default/plugin.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: trunk/qgis/python/plugins/GdalTools/__init__.py
===================================================================
--- trunk/qgis/python/plugins/GdalTools/__init__.py 2010-12-12 18:28:34 UTC (rev 14896)
+++ trunk/qgis/python/plugins/GdalTools/__init__.py 2010-12-12 19:19:54 UTC (rev 14897)
@@ -25,6 +25,8 @@
return "Version 1.2.18"
def qgisMinimumVersion():
return "1.0"
+def icon():
+ return "icons/raster-info.png"
def classFactory(iface):
# load GdalTools class from file GdalTools
from GdalTools import GdalTools
Modified: trunk/qgis/python/plugins/fTools/__init__.py
===================================================================
--- trunk/qgis/python/plugins/fTools/__init__.py 2010-12-12 18:28:34 UTC (rev 14896)
+++ trunk/qgis/python/plugins/fTools/__init__.py 2010-12-12 19:19:54 UTC (rev 14897)
@@ -25,6 +25,9 @@
def qgisMinimumVersion():
return "1.0"
+
+def icon():
+ return "icons/logo_small.png"
def authorName():
return "Carson J. Q. Farmer"
Modified: trunk/qgis/python/plugins/fTools/icons/CMakeLists.txt
===================================================================
--- trunk/qgis/python/plugins/fTools/icons/CMakeLists.txt 2010-12-12 18:28:34 UTC (rev 14896)
+++ trunk/qgis/python/plugins/fTools/icons/CMakeLists.txt 2010-12-12 19:19:54 UTC (rev 14897)
@@ -5,6 +5,6 @@
logo.svg
menu_icons.svg
)
-INSTALL(FILES ${VECTOR_GRAPHICS_FILES} DESTINATION ${QGIS_DATA_DIR}/python/plugins/fTools/icons)
+INSTALL(FILES ${VECTOR_GRAPHICS_FILES} logo_small.png DESTINATION ${QGIS_DATA_DIR}/python/plugins/fTools/icons)
SUBDIRS(default gis)
Added: trunk/qgis/python/plugins/fTools/icons/logo_small.png
===================================================================
(Binary files differ)
Property changes on: trunk/qgis/python/plugins/fTools/icons/logo_small.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: trunk/qgis/python/plugins/mapserver_export/__init__.py
===================================================================
--- trunk/qgis/python/plugins/mapserver_export/__init__.py 2010-12-12 18:28:34 UTC (rev 14896)
+++ trunk/qgis/python/plugins/mapserver_export/__init__.py 2010-12-12 19:19:54 UTC (rev 14897)
@@ -27,6 +27,8 @@
return "Version 0.4.3"
def qgisMinimumVersion():
return "1.0"
+def icon():
+ return "mapserver_export.png"
def authorName():
return "Gary E. Sherman"
def classFactory(iface):
Modified: trunk/qgis/python/plugins/osm/__init__.py
===================================================================
--- trunk/qgis/python/plugins/osm/__init__.py 2010-12-12 18:28:34 UTC (rev 14896)
+++ trunk/qgis/python/plugins/osm/__init__.py 2010-12-12 19:19:54 UTC (rev 14897)
@@ -51,7 +51,11 @@
return "1.0.0"
+def icon():
+ import resources_rc
+ return ":/plugins/osm_plugin/images/osm_load.png"
+
def classFactory(iface):
"""Function returns OSM Plugin instance.
Modified: trunk/qgis/python/plugins/plugin_installer/__init__.py
===================================================================
--- trunk/qgis/python/plugins/plugin_installer/__init__.py 2010-12-12 18:28:34 UTC (rev 14896)
+++ trunk/qgis/python/plugins/plugin_installer/__init__.py 2010-12-12 19:19:54 UTC (rev 14897)
@@ -23,6 +23,10 @@
def qgisMinimumVersion():
return "1.0"
+def icon():
+ import resources_rc
+ return ":/plugins/installer/plugin_installer.png"
+
def authorName():
return "Matthew Perry, Borys Jurgiel"
Modified: trunk/qgis/python/utils.py
===================================================================
--- trunk/qgis/python/utils.py 2010-12-12 18:28:34 UTC (rev 14896)
+++ trunk/qgis/python/utils.py 2010-12-12 19:19:54 UTC (rev 14897)
@@ -266,6 +266,10 @@
iface.openURL(url,False)
+def pluginDirectory(packageName):
+ """ return directory where the plugin resides. Plugin must be loaded already """
+ return os.path.dirname(sys.modules[packageName].__file__)
+
#######################
# IMPORT wrapper
Modified: trunk/qgis/src/app/qgspluginmanager.cpp
===================================================================
--- trunk/qgis/src/app/qgspluginmanager.cpp 2010-12-12 18:28:34 UTC (rev 14896)
+++ trunk/qgis/src/app/qgspluginmanager.cpp 2010-12-12 19:19:54 UTC (rev 14897)
@@ -44,7 +44,7 @@
#include "qgslogger.h"
// Do we need this?
-// #define TESTLIB
+// #define TESTLIB
#ifdef TESTLIB
// This doesn't work on WIN32 and causes problems with plugins
// on OS X (the code doesn't cause a problem but including dlfcn.h
@@ -174,8 +174,9 @@
QString pluginName = mPythonUtils->getPluginMetadata( packageName, "name" );
QString description = mPythonUtils->getPluginMetadata( packageName, "description" );
QString version = mPythonUtils->getPluginMetadata( packageName, "version" );
+ QString iconName = mPythonUtils->getPluginMetadata( packageName, "icon" );
- if ( pluginName == "???" || description == "???" || version == "???" ) continue;
+ if ( pluginName == "__error__" || description == "__error__" || version == "__error__" ) continue;
bool isCompatible = QgsPluginRegistry::instance()->isPythonPluginCompatible( packageName );
QString compatibleString; // empty by default
@@ -200,6 +201,19 @@
myData.setCheckable( true );
myData.setRenderAsWidget( false );
myData.setChecked( false ); //start off assuming false
+ if ( iconName == "__error__" )
+ myData.setIcon( QPixmap( QgsApplication::defaultThemePath() + "/plugin.png" ) );
+ else
+ {
+ bool relative = QFileInfo( iconName ).isRelative();
+ if ( relative )
+ {
+ QString pluginDir;
+ mPythonUtils->evalString( QString( "qgis.utils.pluginDirectory('%1')" ).arg( packageName ), pluginDir );
+ iconName = pluginDir + "/" + iconName;
+ }
+ myData.setIcon( QPixmap( iconName ) );
+ }
// check to see if the plugin is loaded and set the checkbox accordingly
QgsPluginRegistry *pRegistry = QgsPluginRegistry::instance();
@@ -296,6 +310,7 @@
name_t *pName = ( name_t * ) cast_to_fptr( myLib->resolve( "name" ) );
description_t *pDesc = ( description_t * ) cast_to_fptr( myLib->resolve( "description" ) );
version_t *pVersion = ( version_t * ) cast_to_fptr( myLib->resolve( "version" ) );
+ icon_t* pIcon = ( icon_t * ) cast_to_fptr( myLib->resolve( "icon" ) );
// show the values (or lack of) for each function
if ( pName )
@@ -322,6 +337,10 @@
{
QgsDebugMsg( "Plugin version not returned when queried" );
}
+ if ( pIcon )
+ {
+ QgsDebugMsg( "Plugin icon: " + pIcon() );
+ }
if ( !pName || !pDesc || !pVersion )
{
@@ -333,6 +352,7 @@
QString pluginName = pName();
QString pluginDesc = pDesc();
QString pluginVersion = pVersion();
+ QString pluginIconFileName = ( pIcon ? pIcon() : QString() );
QString baseName = QFileInfo( lib ).baseName();
QString myLibraryName = pluginDir[i];
@@ -347,6 +367,10 @@
myData.setRenderAsWidget( false );
myData.setCheckable( true );
myData.setChecked( false ); //start unchecked - we will check it later if needed
+ if ( pluginIconFileName.isEmpty() )
+ myData.setIcon( QPixmap( QgsApplication::defaultThemePath() + "/plugin.png" ) );
+ else
+ myData.setIcon( QPixmap( pluginIconFileName ) );
QgsDebugMsg( "Getting an instance of the QgsPluginRegistry" );
Modified: trunk/qgis/src/gui/qgsdetaileditemdelegate.cpp
===================================================================
--- trunk/qgis/src/gui/qgsdetaileditemdelegate.cpp 2010-12-12 18:28:34 UTC (rev 14896)
+++ trunk/qgis/src/gui/qgsdetaileditemdelegate.cpp 2010-12-12 19:19:54 UTC (rev 14897)
@@ -147,10 +147,28 @@
QPixmap myDecoPixmap = theData.icon();
if ( !myDecoPixmap.isNull() )
{
- thepPainter->drawPixmap( myTextStartX,
- myTextStartY + ( myDecoPixmap.height() / 2 ),
- myDecoPixmap );
- myTextStartX += myDecoPixmap.width() + horizontalSpacing();
+ int iconWidth = 32, iconHeight = 32;
+
+ if ( myDecoPixmap.width() <= iconWidth && myDecoPixmap.height() <= iconHeight )
+ {
+ // the pixmap has reasonable size
+ int offsetX = 0, offsetY = 0;
+ if ( myDecoPixmap.width() < iconWidth )
+ offsetX = ( iconWidth - myDecoPixmap.width() ) / 2;
+ if ( myDecoPixmap.height() < iconHeight )
+ offsetY = ( iconHeight - myDecoPixmap.height() ) / 2;
+
+ thepPainter->drawPixmap( myTextStartX + offsetX,
+ myTextStartY + offsetY,
+ myDecoPixmap );
+ }
+ else
+ {
+ // shrink the pixmap, it's too big
+ thepPainter->drawPixmap( myTextStartX, myTextStartY, iconWidth, iconHeight, myDecoPixmap );
+ }
+
+ myTextStartX += iconWidth + horizontalSpacing();
}
//
// Draw the title
Modified: trunk/qgis/src/plugins/coordinate_capture/coordinatecapture.cpp
===================================================================
--- trunk/qgis/src/plugins/coordinate_capture/coordinatecapture.cpp 2010-12-12 18:28:34 UTC (rev 14896)
+++ trunk/qgis/src/plugins/coordinate_capture/coordinatecapture.cpp 2010-12-12 19:19:54 UTC (rev 14897)
@@ -53,6 +53,7 @@
static const QString sName = QObject::tr( "Coordinate Capture" );
static const QString sDescription = QObject::tr( "Capture mouse coordinates in different CRS" );
static const QString sPluginVersion = QObject::tr( "Version 0.1" );
+static const QString sPluginIcon = ":/coordinate_capture/coordinate_capture.png";
static const QgisPlugin::PLUGINTYPE sPluginType = QgisPlugin::UI;
//////////////////////////////////////////////////////////////////////
@@ -343,6 +344,11 @@
return sPluginVersion;
}
+QGISEXTERN QString icon()
+{
+ return sPluginIcon;
+}
+
// Delete ourself
QGISEXTERN void unload( QgisPlugin * thePluginPointer )
{
Modified: trunk/qgis/src/plugins/copyright_label/plugin.cpp
===================================================================
--- trunk/qgis/src/plugins/copyright_label/plugin.cpp 2010-12-12 18:28:34 UTC (rev 14896)
+++ trunk/qgis/src/plugins/copyright_label/plugin.cpp 2010-12-12 19:19:54 UTC (rev 14897)
@@ -51,6 +51,7 @@
static const QString name_ = QObject::tr( "CopyrightLabel" );
static const QString description_ = QObject::tr( "Draws copyright information" );
static const QString version_ = QObject::tr( "Version 0.1" );
+static const QString icon_ = ":/copyright_label.png";
static const QgisPlugin::PLUGINTYPE type_ = QgisPlugin::UI;
@@ -318,6 +319,11 @@
return version_;
}
+QGISEXTERN QString icon()
+{
+ return icon_;
+}
+
// Delete ourself
QGISEXTERN void unload( QgisPlugin * thePluginPointer )
{
Modified: trunk/qgis/src/plugins/delimited_text/qgsdelimitedtextplugin.cpp
===================================================================
--- trunk/qgis/src/plugins/delimited_text/qgsdelimitedtextplugin.cpp 2010-12-12 18:28:34 UTC (rev 14896)
+++ trunk/qgis/src/plugins/delimited_text/qgsdelimitedtextplugin.cpp 2010-12-12 19:19:54 UTC (rev 14897)
@@ -43,6 +43,8 @@
static const QString pluginVersion = QObject::tr( "Version 0.2" );
static const QString description_ = QObject::tr( "Loads and displays delimited text files containing x,y coordinates" );
+static const QString icon_ = ":/delimited_text.png";
+
/**
* Constructor for the plugin. The plugin is passed a pointer to the main app
* and an interface object that provides access to exposed functions in QGIS.
@@ -206,6 +208,11 @@
return pluginVersion;
}
+QGISEXTERN QString icon()
+{
+ return icon_;
+}
+
// Delete ourself
QGISEXTERN void unload( QgisPlugin * theQgsDelimitedTextPluginPointer )
{
Modified: trunk/qgis/src/plugins/dxf2shp_converter/dxf2shpconverter.cpp
===================================================================
--- trunk/qgis/src/plugins/dxf2shp_converter/dxf2shpconverter.cpp 2010-12-12 18:28:34 UTC (rev 14896)
+++ trunk/qgis/src/plugins/dxf2shp_converter/dxf2shpconverter.cpp 2010-12-12 19:19:54 UTC (rev 14897)
@@ -40,6 +40,7 @@
static const QString sDescription = QObject::tr( "Converts from dxf to shp file format" );
static const QString sPluginVersion = QObject::tr( "Version 0.1" );
static const QgisPlugin::PLUGINTYPE sPluginType = QgisPlugin::UI;
+static const QString sPluginIcon = ":/dxf2shp_converter.png";
//////////////////////////////////////////////////////////////////////
//
@@ -194,6 +195,11 @@
return sPluginVersion;
}
+QGISEXTERN QString icon()
+{
+ return sPluginIcon;
+}
+
// Delete ourself
QGISEXTERN void unload( QgisPlugin *thePluginPointer )
{
Modified: trunk/qgis/src/plugins/geoprocessing/qgspggeoprocessing.cpp
===================================================================
--- trunk/qgis/src/plugins/geoprocessing/qgspggeoprocessing.cpp 2010-12-12 18:28:34 UTC (rev 14896)
+++ trunk/qgis/src/plugins/geoprocessing/qgspggeoprocessing.cpp 2010-12-12 19:19:54 UTC (rev 14897)
@@ -46,6 +46,7 @@
static const QString description_ = QObject::tr( "Geoprocessing functions for working with PostgreSQL/PostGIS layers" );
static const QString version_ = QObject::tr( "Version 0.1" );
static const QgisPlugin::PLUGINTYPE type_ = QgisPlugin::UI;
+static const QString icon_ = ":/geoprocessing.png";
/**
@@ -478,6 +479,11 @@
return version_;
}
+QGISEXTERN QString icon()
+{
+ return icon_;
+}
+
// Delete ourself
QGISEXTERN void unload( QgisPlugin * p )
{
Modified: trunk/qgis/src/plugins/georeferencer/qgsgeorefplugin.cpp
===================================================================
--- trunk/qgis/src/plugins/georeferencer/qgsgeorefplugin.cpp 2010-12-12 18:28:34 UTC (rev 14896)
+++ trunk/qgis/src/plugins/georeferencer/qgsgeorefplugin.cpp 2010-12-12 19:19:54 UTC (rev 14897)
@@ -66,6 +66,7 @@
static const QString sDescription = QObject::tr( "Georeferencing rasters using GDAL" );
static const QString sPluginVersion = QObject::tr( "Version 3.1.9" );
static const QgisPlugin::PLUGINTYPE sPluginType = QgisPlugin::UI;
+static const QString sPluginIcon = ":/icons/mGeorefRun.png";
//////////////////////////////////////////////////////////////////////
//
@@ -236,6 +237,11 @@
return sPluginVersion;
}
+QGISEXTERN QString icon()
+{
+ return sPluginIcon;
+}
+
// Delete ourself
QGISEXTERN void unload( QgisPlugin * thePluginPointer )
{
Modified: trunk/qgis/src/plugins/gps_importer/qgsgpsplugin.cpp
===================================================================
--- trunk/qgis/src/plugins/gps_importer/qgsgpsplugin.cpp 2010-12-12 18:28:34 UTC (rev 14896)
+++ trunk/qgis/src/plugins/gps_importer/qgsgpsplugin.cpp 2010-12-12 19:19:54 UTC (rev 14897)
@@ -54,6 +54,7 @@
static const QString description_ = QObject::tr( "Tools for loading and importing GPS data" );
static const QString version_ = QObject::tr( "Version 0.1" );
static const QgisPlugin::PLUGINTYPE type_ = QgisPlugin::UI;
+static const QString icon_ = ":/gps_importer.png";
/**
@@ -733,6 +734,11 @@
return version_;
}
+QGISEXTERN QString icon()
+{
+ return icon_;
+}
+
// Delete ourself
QGISEXTERN void unload( QgisPlugin * thePluginPointer )
{
Modified: trunk/qgis/src/plugins/grass/qgsgrassplugin.cpp
===================================================================
--- trunk/qgis/src/plugins/grass/qgsgrassplugin.cpp 2010-12-12 18:28:34 UTC (rev 14896)
+++ trunk/qgis/src/plugins/grass/qgsgrassplugin.cpp 2010-12-12 19:19:54 UTC (rev 14897)
@@ -50,6 +50,7 @@
}
static const QString pluginVersion = QObject::tr( "Version 0.1" );
+static const QString pluginIcon = ":/images/themes/default/grass/grass_tools.png";
/**
* Constructor for the plugin. The plugin is passed a pointer to the main app
@@ -909,6 +910,11 @@
return pluginVersion;
}
+QGISEXTERN QString icon()
+{
+ return pluginIcon;
+}
+
// Delete ourself
QGISEXTERN void unload( QgisPlugin * thePluginPointer )
{
Modified: trunk/qgis/src/plugins/interpolation/qgsinterpolationplugin.cpp
===================================================================
--- trunk/qgis/src/plugins/interpolation/qgsinterpolationplugin.cpp 2010-12-12 18:28:34 UTC (rev 14896)
+++ trunk/qgis/src/plugins/interpolation/qgsinterpolationplugin.cpp 2010-12-12 19:19:54 UTC (rev 14897)
@@ -25,6 +25,7 @@
static const QString name_ = QObject::tr( "Interpolation plugin" );
static const QString description_ = QObject::tr( "A plugin for interpolation based on vertices of a vector layer" );
static const QString version_ = QObject::tr( "Version 0.001" );
+static const QString icon_ = ":/interpolation.png";
QgsInterpolationPlugin::QgsInterpolationPlugin( QgisInterface* iface ): mIface( iface ), mInterpolationAction( 0 )
{
@@ -107,6 +108,11 @@
return version_;
}
+QGISEXTERN QString icon()
+{
+ return icon_;
+}
+
QGISEXTERN int type()
{
return QgisPlugin::UI;
Modified: trunk/qgis/src/plugins/north_arrow/plugin.cpp
===================================================================
--- trunk/qgis/src/plugins/north_arrow/plugin.cpp 2010-12-12 18:28:34 UTC (rev 14896)
+++ trunk/qgis/src/plugins/north_arrow/plugin.cpp 2010-12-12 19:19:54 UTC (rev 14897)
@@ -60,6 +60,7 @@
static const QString description_ = QObject::tr( "Displays a north arrow overlayed onto the map" );
static const QString version_ = QObject::tr( "Version 0.1" );
static const QgisPlugin::PLUGINTYPE type_ = QgisPlugin::UI;
+static const QString icon_ = ":/north_arrow.png";
const double QgsNorthArrowPlugin::PI = 3.14159265358979323846;
// const double QgsNorthArrowPlugin::DEG2RAD = 0.0174532925199433;
@@ -455,6 +456,11 @@
return version_;
}
+QGISEXTERN QString icon()
+{
+ return icon_;
+}
+
// Delete ourself
QGISEXTERN void unload( QgisPlugin * thePluginPointer )
{
Modified: trunk/qgis/src/plugins/offline_editing/offline_editing_plugin.cpp
===================================================================
--- trunk/qgis/src/plugins/offline_editing/offline_editing_plugin.cpp 2010-12-12 18:28:34 UTC (rev 14896)
+++ trunk/qgis/src/plugins/offline_editing/offline_editing_plugin.cpp 2010-12-12 19:19:54 UTC (rev 14897)
@@ -32,6 +32,7 @@
static const QString sDescription = QObject::tr( "Allow offline editing and synchronizing with database" );
static const QString sPluginVersion = QObject::tr( "Version 0.1" );
static const QgisPlugin::PLUGINTYPE sPluginType = QgisPlugin::UI;
+static const QString sPluginIcon = ":/offline_editing/offline_editing_copy.png";
QgsOfflineEditingPlugin::QgsOfflineEditingPlugin( QgisInterface* theQgisInterface )
: QgisPlugin( sName, sDescription, sPluginVersion, sPluginType ),
@@ -174,6 +175,11 @@
return sPluginVersion;
}
+QGISEXTERN QString icon()
+{
+ return sPluginIcon;
+}
+
// Delete ourself
QGISEXTERN void unload( QgisPlugin * thePluginPointer )
{
Modified: trunk/qgis/src/plugins/ogr_converter/plugin.cpp
===================================================================
--- trunk/qgis/src/plugins/ogr_converter/plugin.cpp 2010-12-12 18:28:34 UTC (rev 14896)
+++ trunk/qgis/src/plugins/ogr_converter/plugin.cpp 2010-12-12 19:19:54 UTC (rev 14897)
@@ -34,6 +34,7 @@
static const QString sDescription = QObject::tr( "Translates vector layers between formats supported by OGR library" );
static const QString sPluginVersion = QObject::tr( "Version 0.1" );
static const QgisPlugin::PLUGINTYPE sPluginType = QgisPlugin::UI;
+static const QString sPluginIcon = ":/ogr_converter.png";
//////////////////////////////////////////////////////////////////////////////
// THE FOLLOWING METHODS ARE MANDATORY FOR ALL PLUGINS
@@ -166,6 +167,11 @@
return sPluginVersion;
}
+QGISEXTERN QString icon()
+{
+ return sPluginIcon;
+}
+
// Delete ourself
QGISEXTERN void unload( QgisPlugin * thePluginPointer )
{
Modified: trunk/qgis/src/plugins/oracle_raster/qgsoracle_plugin.cpp
===================================================================
--- trunk/qgis/src/plugins/oracle_raster/qgsoracle_plugin.cpp 2010-12-12 18:28:34 UTC (rev 14896)
+++ trunk/qgis/src/plugins/oracle_raster/qgsoracle_plugin.cpp 2010-12-12 19:19:54 UTC (rev 14897)
@@ -22,6 +22,7 @@
static const QString sDescription = QObject::tr( "Access Oracle Spatial GeoRaster" );
static const QString sPluginVersion = QObject::tr( "Version 0.1" );
static const QgisPlugin::PLUGINTYPE sPluginType = QgisPlugin::UI;
+static const QString sPluginIcon = ":/oracleplugin/oracleplugin.png";
//////////////////////////////////////////////////////////////////////
//
@@ -145,6 +146,11 @@
return sPluginVersion;
}
+QGISEXTERN QString icon()
+{
+ return sPluginIcon;
+}
+
// Delete ourself
QGISEXTERN void unload( QgisPlugin * thePluginPointer )
Modified: trunk/qgis/src/plugins/plugin_template/plugin.cpp
===================================================================
--- trunk/qgis/src/plugins/plugin_template/plugin.cpp 2010-12-12 18:28:34 UTC (rev 14896)
+++ trunk/qgis/src/plugins/plugin_template/plugin.cpp 2010-12-12 19:19:54 UTC (rev 14897)
@@ -39,6 +39,7 @@
static const QString sDescription = QObject::tr( "[plugindescription]" );
static const QString sPluginVersion = QObject::tr( "Version 0.1" );
static const QgisPlugin::PLUGINTYPE sPluginType = QgisPlugin::UI;
+static const QString sPluginIcon = ":/[pluginlcasename]/[pluginlcasename].png";
//////////////////////////////////////////////////////////////////////
//
@@ -154,6 +155,11 @@
return sPluginVersion;
}
+QGISEXTERN QString icon()
+{
+ return sPluginIcon;
+}
+
// Delete ourself
QGISEXTERN void unload( QgisPlugin * thePluginPointer )
{
Modified: trunk/qgis/src/plugins/qgisplugin.h
===================================================================
--- trunk/qgis/src/plugins/qgisplugin.h 2010-12-12 18:28:34 UTC (rev 14896)
+++ trunk/qgis/src/plugins/qgisplugin.h 2010-12-12 19:19:54 UTC (rev 14897)
@@ -178,5 +178,8 @@
//! Typedef for getting the plugin version without instantiating the plugin
typedef QString version_t();
+//! Typedef for getting the plugin icon file name without instantiating the plugin
+typedef QString icon_t();
+
#endif //qgisplugin_h
Modified: trunk/qgis/src/plugins/quick_print/quickprintplugin.cpp
===================================================================
--- trunk/qgis/src/plugins/quick_print/quickprintplugin.cpp 2010-12-12 18:28:34 UTC (rev 14896)
+++ trunk/qgis/src/plugins/quick_print/quickprintplugin.cpp 2010-12-12 19:19:54 UTC (rev 14897)
@@ -40,6 +40,7 @@
static const QString sDescription = QObject::tr( "Quick Print is a plugin to quickly print a map with minimal effort." );
static const QString sPluginVersion = QObject::tr( "Version 0.1" );
static const QgisPlugin::PLUGINTYPE sPluginType = QgisPlugin::UI;
+static const QString sPluginIcon = ":/quick_print.png";
//////////////////////////////////////////////////////////////////////
//
@@ -186,6 +187,11 @@
return sPluginVersion;
}
+QGISEXTERN QString icon()
+{
+ return sPluginIcon;
+}
+
// Delete ourself
QGISEXTERN void unload( QgisPlugin * thePluginPointer )
{
Modified: trunk/qgis/src/plugins/raster_terrain_analysis/qgsrasterterrainanalysisplugin.cpp
===================================================================
--- trunk/qgis/src/plugins/raster_terrain_analysis/qgsrasterterrainanalysisplugin.cpp 2010-12-12 18:28:34 UTC (rev 14896)
+++ trunk/qgis/src/plugins/raster_terrain_analysis/qgsrasterterrainanalysisplugin.cpp 2010-12-12 19:19:54 UTC (rev 14897)
@@ -31,6 +31,7 @@
static const QString name_ = QObject::tr( "Raster Terrain Analysis plugin" );
static const QString description_ = QObject::tr( "A plugin for raster based terrain analysis" );
static const QString version_ = QObject::tr( "Version 0.1" );
+static const QString icon_ = ":/raster/raster_terrain_icon.png";
QgsRasterTerrainAnalysisPlugin::QgsRasterTerrainAnalysisPlugin( QgisInterface* iface ): mIface( iface ), mAction( 0 )
{
@@ -136,6 +137,11 @@
return version_;
}
+QGISEXTERN QString icon()
+{
+ return icon_;
+}
+
QGISEXTERN int type()
{
return QgisPlugin::UI;
Modified: trunk/qgis/src/plugins/scale_bar/plugin.cpp
===================================================================
--- trunk/qgis/src/plugins/scale_bar/plugin.cpp 2010-12-12 18:28:34 UTC (rev 14896)
+++ trunk/qgis/src/plugins/scale_bar/plugin.cpp 2010-12-12 19:19:54 UTC (rev 14897)
@@ -64,6 +64,7 @@
static const QString description_ = QObject::tr( "Draws a scale bar" );
static const QString version_ = QObject::tr( "Version 0.1" );
static const QgisPlugin::PLUGINTYPE type_ = QgisPlugin::UI;
+static const QString icon_ = ":/scale_bar.png";
/**
@@ -660,6 +661,11 @@
return version_;
}
+QGISEXTERN QString icon()
+{
+ return icon_;
+}
+
// Delete ourself
QGISEXTERN void unload( QgisPlugin * thePluginPointer )
{
Modified: trunk/qgis/src/plugins/spatialquery/qgsspatialqueryplugin.cpp
===================================================================
--- trunk/qgis/src/plugins/spatialquery/qgsspatialqueryplugin.cpp 2010-12-12 18:28:34 UTC (rev 14896)
+++ trunk/qgis/src/plugins/spatialquery/qgsspatialqueryplugin.cpp 2010-12-12 19:19:54 UTC (rev 14897)
@@ -50,6 +50,7 @@
static const QString description_ = QObject::tr( "A plugin that makes spatial queries on vector layers" );
static const QString version_ = QObject::tr( "Version 0.1" );
static const QgisPlugin::PLUGINTYPE type_ = QgisPlugin::UI;
+static const QString icon_ = ":/icons/spatialquery.png";
/**
* Constructor for the plugin. The plugin is passed a pointer to the main app
@@ -194,6 +195,11 @@
return version_;
}
+QGISEXTERN QString icon()
+{
+ return icon_;
+}
+
// Delete ourself
QGISEXTERN void unload( QgisPlugin* theSpatialQueryPluginPointer )
{
Modified: trunk/qgis/src/plugins/spit/qgsspitplugin.cpp
===================================================================
--- trunk/qgis/src/plugins/spit/qgsspitplugin.cpp 2010-12-12 18:28:34 UTC (rev 14896)
+++ trunk/qgis/src/plugins/spit/qgsspitplugin.cpp 2010-12-12 19:19:54 UTC (rev 14897)
@@ -37,6 +37,7 @@
static const QString description_ = QObject::tr( "Shapefile to PostgreSQL/PostGIS Import Tool" );
static const QString version_ = QObject::tr( "Version 0.1" );
static const QgisPlugin::PLUGINTYPE type_ = QgisPlugin::UI;
+static const QString icon_ = ":/spit.png";
@@ -155,7 +156,12 @@
return version_;
}
+QGISEXTERN QString icon()
+{
+ return icon_;
+}
+
// Delete ourself
QGISEXTERN void unload( QgisPlugin * p )
{
Modified: trunk/qgis/src/plugins/wfs/qgswfsplugin.cpp
===================================================================
--- trunk/qgis/src/plugins/wfs/qgswfsplugin.cpp 2010-12-12 18:28:34 UTC (rev 14896)
+++ trunk/qgis/src/plugins/wfs/qgswfsplugin.cpp 2010-12-12 19:19:54 UTC (rev 14897)
@@ -31,6 +31,7 @@
static const QString name_ = QObject::tr( "WFS plugin" );
static const QString description_ = QObject::tr( "Adds WFS layers to the QGIS canvas" );
static const QString version_ = QObject::tr( "Version 0.1" );
+static const QString icon_ = ":/wfs.png";
QgsWFSPlugin::QgsWFSPlugin( QgisInterface* iface )
: QgisPlugin( name_, description_, version_, QgisPlugin::MAPLAYER ),
@@ -116,6 +117,11 @@
return version_;
}
+QGISEXTERN QString icon()
+{
+ return icon_;
+}
+
QGISEXTERN int type()
{
return QgisPlugin::UI;
More information about the QGIS-commit
mailing list