diff --git a/mac/2-release-extra-qt.sh b/mac/2-release-extra-qt.sh index d00e7b54741..0f82ac4ae0c 100755 --- a/mac/2-release-extra-qt.sh +++ b/mac/2-release-extra-qt.sh @@ -147,7 +147,6 @@ popd strip -x ${FRAMEWORKPREFIX}/QtGui.framework/Versions/4/QtGui strip -x ${FRAMEWORKPREFIX}/QtCore.framework/Versions/4/QtCore -strip -x ${FRAMEWORKPREFIX}/Qt3Support.framework/Versions/4/Qt3Support strip -x ${FRAMEWORKPREFIX}/QtSql.framework/Versions/4/QtSql strip -x ${FRAMEWORKPREFIX}/QtSvg.framework/Versions/4/QtSvg strip -x ${FRAMEWORKPREFIX}/QtXml.framework/Versions/4/QtXml diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 1e5c7081c70..ea24e7a8e53 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -39,6 +39,9 @@ FILE(GLOB GUI_SIP_FILES "${CMAKE_CURRENT_SOURCE_DIR}/gui/*.sip") # Extract GDAL library path and name for configure.py.in STRING(REGEX REPLACE "^(.*)/.*$" "\\1" GDAL_LIB_PATH ${GDAL_LIBRARY}) STRING(REGEX REPLACE "^.*/(lib)?(.*)\\.[^.]+$" "\\2" GDAL_LIB_NAME ${GDAL_LIBRARY}) +# Extract GEOS library path and name for configure.py.in +STRING(REGEX REPLACE "^(.*)/.*$" "\\1" GEOS_LIB_PATH ${GEOS_LIBRARY}) +STRING(REGEX REPLACE "^.*/(lib)?(.*)\\.[^.]+$" "\\2" GEOS_LIB_NAME ${GEOS_LIBRARY}) # Step 1: during configuration # create file configure.py from configure.py.in diff --git a/python/configure.py.in b/python/configure.py.in index 890efa5b413..ecfbad47812 100644 --- a/python/configure.py.in +++ b/python/configure.py.in @@ -9,12 +9,13 @@ build_path = '@CMAKE_BINARY_DIR@' python_path = src_path + '/python' gdal_inc_dir = '@GDAL_INCLUDE_DIR@' geos_inc_dir = '@GEOS_INCLUDE_DIR@' +geos_library = '@GEOS_LIB_NAME@' +geos_library_path = '@GEOS_LIB_PATH@' gdal_library = '@GDAL_LIB_NAME@' gdal_library_path = '@GDAL_LIB_PATH@' qt_libs = ["QtCore","QtGui","QtNetwork","QtSvg","QtXml"] if sys.platform == 'darwin': - qt_libs.append("Qt3Support") qt_libs.append("QtSql") # possibility of universal build of bindings osx_archs = '@CMAKE_OSX_ARCHITECTURES@' @@ -126,9 +127,13 @@ makefile_gui = sipconfig.ModuleMakefile( # common settings for both core and gui libs for mk in [ makefile_core, makefile_gui ]: mk.extra_libs = ["qgis_core"] + if geos_library!="": + mk.extra_libs.append(geos_library) if gdal_library!="": mk.extra_libs.append(gdal_library) mk.extra_lib_dirs = [build_path+"/src/core"+intdir] + if geos_library_path!="": + mk.extra_lib_dirs.append(geos_library_path) if gdal_library_path!="": mk.extra_lib_dirs.append(gdal_library_path) mk.extra_include_dirs = [src_path+"/src/core", diff --git a/python/gui/qgisinterface.sip b/python/gui/qgisinterface.sip index 55d38209658..2401d3f7010 100644 --- a/python/gui/qgisinterface.sip +++ b/python/gui/qgisinterface.sip @@ -54,6 +54,10 @@ class QgisInterface : QObject virtual void removeToolBarIcon(QAction *qAction) = 0; //! Add toolbar with specified name virtual QToolBar* addToolBar(QString name)=0 /Factory/; + /** Get the file toolbar - intended for use with plugins which + * add a new file type handler. + */ + virtual QToolBar * fileToolBar()=0; // TODO: is this deprecated in favour of QgsContextHelp? /** Open a url in the users browser. By default the QGIS doc directory is used diff --git a/src/app/legend/qgslegendlayer.cpp b/src/app/legend/qgslegendlayer.cpp index 36735bc3745..50c9a05e3ec 100644 --- a/src/app/legend/qgslegendlayer.cpp +++ b/src/app/legend/qgslegendlayer.cpp @@ -42,6 +42,7 @@ #include #include #include +#include QgsLegendLayer::QgsLegendLayer(QTreeWidgetItem* parent,QString name) : QgsLegendItem(parent, name) @@ -365,16 +366,21 @@ void QgsLegendLayer::vectorLayerSymbology(const QgsVectorLayer* layer, double wi itemList.push_back(std::make_pair(values, pix)); } + //create an item for each classification field (only one for most renderers) - if(renderer->needsAttributes()) + QSettings settings; + if (settings.value("/qgis/showLegendClassifiers",false).toBool()) { - QgsAttributeList classfieldlist = renderer->classificationAttributes(); - const QgsFieldMap& fields = layer->getDataProvider()->fields(); - for(QgsAttributeList::iterator it = classfieldlist.begin(); it!=classfieldlist.end(); ++it) + if(renderer->needsAttributes()) { - const QgsField& theField = fields[*it]; - QString classfieldname = theField.name(); - itemList.push_front(std::make_pair(classfieldname, QPixmap())); + QgsAttributeList classfieldlist = renderer->classificationAttributes(); + const QgsFieldMap& fields = layer->getDataProvider()->fields(); + for(QgsAttributeList::iterator it = classfieldlist.begin(); it!=classfieldlist.end(); ++it) + { + const QgsField& theField = fields[*it]; + QString classfieldname = theField.name(); + itemList.push_front(std::make_pair(classfieldname, QPixmap())); + } } } diff --git a/src/app/qgisapp.cpp b/src/app/qgisapp.cpp index fe630fc66e3..8b33eabc10c 100644 --- a/src/app/qgisapp.cpp +++ b/src/app/qgisapp.cpp @@ -52,19 +52,19 @@ #include #include #include +#include +#include #include #include #include #include #include #include +#include #include #include #include #include -#include -#include -#include // // Mac OS X Includes // Must include before GEOS 3 due to unqualified use of 'Point' @@ -359,7 +359,6 @@ static void customSrsValidation_(QgsSpatialRefSys* srs) mSplash->showMessage(tr("Starting Python"), Qt::AlignHCenter | Qt::AlignBottom); qApp->processEvents(); - // try to load python support QLibrary pythonlib("qgispython"); // It's necessary to set these two load hints, otherwise Python library won't work correctly @@ -586,10 +585,10 @@ void QgisApp::createActions() // // Layer Menu Related Items // - mActionAddNonDbLayer= new QAction(QIcon(myIconPath+"/mActionAddNonDbLayer.png"), tr("Add a Vector Layer..."), this); - mActionAddNonDbLayer->setShortcut(tr("V","Add a Vector Layer")); - mActionAddNonDbLayer->setStatusTip(tr("Add a Vector Layer")); - connect(mActionAddNonDbLayer, SIGNAL(triggered()), this, SLOT(addVectorLayer())); + mActionAddOgrLayer= new QAction(QIcon(myIconPath+"/mActionAddOgrLayer.png"), tr("Add a Vector Layer..."), this); + mActionAddOgrLayer->setShortcut(tr("V","Add a Vector Layer")); + mActionAddOgrLayer->setStatusTip(tr("Add a Vector Layer")); + connect(mActionAddOgrLayer, SIGNAL(triggered()), this, SLOT(addVectorLayer())); // mActionAddRasterLayer= new QAction(QIcon(myIconPath+"/mActionAddRasterLayer.png"), tr("Add a Raster Layer..."), this); mActionAddRasterLayer->setShortcut(tr("R","Add a Raster Layer")); @@ -990,7 +989,7 @@ void QgisApp::createMenus() // // Layers Menu mLayerMenu = menuBar()->addMenu(tr("&Layer")); - mLayerMenu->addAction(mActionAddNonDbLayer); + mLayerMenu->addAction(mActionAddOgrLayer); mLayerMenu->addAction(mActionAddRasterLayer); #ifdef HAVE_POSTGRESQL mLayerMenu->addAction(mActionAddLayer); @@ -1058,30 +1057,23 @@ void QgisApp::createToolBars() mFileToolBar->addAction(mActionFileSaveAs); mFileToolBar->addAction(mActionFileOpen); mFileToolBar->addAction(mActionFilePrint); + mFileToolBar->addAction(mActionAddOgrLayer); + mFileToolBar->addAction(mActionAddRasterLayer); +#ifdef HAVE_POSTGRESQL + mFileToolBar->addAction(mActionAddLayer); +#endif + mFileToolBar->addAction(mActionAddWmsLayer); // // Layer Toolbar mLayerToolBar = addToolBar(tr("Manage Layers")); mLayerToolBar->setIconSize(myIconSize); mLayerToolBar->setObjectName("LayerToolBar"); - mLayerToolBar->addAction(mActionAddNonDbLayer); - mLayerToolBar->addAction(mActionAddRasterLayer); -#ifdef HAVE_POSTGRESQL - mLayerToolBar->addAction(mActionAddLayer); -#endif - mLayerToolBar->addAction(mActionAddWmsLayer); mLayerToolBar->addAction(mActionNewVectorLayer); mLayerToolBar->addAction(mActionRemoveLayer); mLayerToolBar->addAction(mActionInOverview); mLayerToolBar->addAction(mActionShowAllLayers); mLayerToolBar->addAction(mActionHideAllLayers); // - // Help Toolbar - mHelpToolBar = addToolBar(tr("Help")); - mHelpToolBar->setIconSize(myIconSize); - mHelpToolBar->setObjectName("Help"); - mHelpToolBar->addAction(mActionHelpContents); - mHelpToolBar->addAction(QWhatsThis::createAction()); - // // Digitizing Toolbar mDigitizeToolBar = addToolBar(tr("Digitizing")); mDigitizeToolBar->setIconSize(myIconSize); @@ -1132,6 +1124,13 @@ void QgisApp::createToolBars() mPluginToolBar = addToolBar(tr("Plugins")); mPluginToolBar->setIconSize(myIconSize); mPluginToolBar->setObjectName("Plugins"); + // + // Help Toolbar + mHelpToolBar = addToolBar(tr("Help")); + mHelpToolBar->setIconSize(myIconSize); + mHelpToolBar->setObjectName("Help"); + mHelpToolBar->addAction(mActionHelpContents); + mHelpToolBar->addAction(QWhatsThis::createAction()); //Add the menu for toolbar visibility here //because createPopupMenu() would return 0 @@ -1288,7 +1287,7 @@ void QgisApp::setTheme(QString theThemeName) mActionExportMapServer->setIconSet(QIcon(QPixmap(myIconPath + "/mActionExportMapServer.png"))); */ mActionFileExit->setIconSet(QIcon(QPixmap(myIconPath + "/mActionFileExit.png"))); - mActionAddNonDbLayer->setIconSet(QIcon(QPixmap(myIconPath + "/mActionAddNonDbLayer.png"))); + mActionAddOgrLayer->setIconSet(QIcon(QPixmap(myIconPath + "/mActionAddOgrLayer.png"))); mActionAddRasterLayer->setIconSet(QIcon(QPixmap(myIconPath + "/mActionAddRasterLayer.png"))); mActionAddLayer->setIconSet(QIcon(QPixmap(myIconPath + "/mActionAddLayer.png"))); mActionRemoveLayer->setIconSet(QIcon(QPixmap(myIconPath + "/mActionRemoveLayer.png"))); @@ -3355,6 +3354,11 @@ void QgisApp::stopRendering() } } +QToolBar * QgisApp::fileToolBar() +{ + return mFileToolBar; +} + //reimplements method from base (gui) class void QgisApp::hideAllLayers() { diff --git a/src/app/qgisapp.h b/src/app/qgisapp.h index 9622896ab2f..b02bf69d7f6 100644 --- a/src/app/qgisapp.h +++ b/src/app/qgisapp.h @@ -19,24 +19,24 @@ #ifndef QGISAPP_H #define QGISAPP_H -class QRect; -class QStringList; +class QActionGroup; +class QCheckBox; class QCursor; +class QFileInfo; +class QKeyEvent; class QLabel; class QLineEdit; -class QProgressBar; -class QFileInfo; -class QSettings; -class QTcpSocket; -class QCheckBox; -class QToolButton; -class QKeyEvent; class QMenu; class QPixmap; +class QProgressBar; class QPushButton; +class QRect; +class QSettings; class QSplashScreen; +class QStringList; +class QToolButton; +class QTcpSocket; class QValidator; -class QActionGroup; class QgisAppInterface; class QgsClipboard; @@ -56,6 +56,7 @@ class QgsRect; class QgsVectorLayer; #include +#include #include #include "qgsconfig.h" @@ -381,6 +382,12 @@ public slots: //! Stops rendering of the main map void stopRendering(); + /** Get a reference to the file toolbar. Mainly intended + * to be used by plugins that want to specifically add + * an icon into the file toolbar for consistency e.g. + * addWFS and GPS plugins. + */ + QToolBar * fileToolBar(); signals: /** emitted when a key is pressed and we want non widget sublasses to be able to pick up on this (e.g. maplayer) */ @@ -470,7 +477,7 @@ private: QAction *mActionSaveMapAsImage; QAction *mActionExportMapServer; QAction *mActionFileExit; - QAction *mActionAddNonDbLayer; + QAction *mActionAddOgrLayer; QAction *mActionAddRasterLayer; QAction *mActionAddLayer; QAction *mActionRemoveLayer; diff --git a/src/app/qgisappinterface.cpp b/src/app/qgisappinterface.cpp index 1e5ed21cd4e..69387885041 100644 --- a/src/app/qgisappinterface.cpp +++ b/src/app/qgisappinterface.cpp @@ -116,6 +116,10 @@ QToolBar* QgisAppInterface::addToolBar(QString name) { return qgis->addToolBar(name); } +QToolBar * QgisAppInterface::fileToolBar() +{ + return qgis->fileToolBar(); +} void QgisAppInterface::openURL(QString url, bool useQgisDocDirectory) { qgis->openURL(url, useQgisDocDirectory); diff --git a/src/app/qgisappinterface.h b/src/app/qgisappinterface.h index 92c04dde63f..94b680ebb3a 100644 --- a/src/app/qgisappinterface.h +++ b/src/app/qgisappinterface.h @@ -69,6 +69,10 @@ class QgisAppInterface : public QgisInterface void removeToolBarIcon(QAction *qAction); //! Add toolbar with specified name QToolBar* addToolBar(QString name); + /** Get the file toolbar - intended for use with plugins which + * add a new file type handler. + */ + QToolBar * fileToolBar(); /** Open a url in the users browser. By default the QGIS doc directory is used * as the base for the URL. To open a URL that is not relative to the installed diff --git a/src/app/qgsdelattrdialog.cpp b/src/app/qgsdelattrdialog.cpp index ffea430c3ff..f4d548b634b 100644 --- a/src/app/qgsdelattrdialog.cpp +++ b/src/app/qgsdelattrdialog.cpp @@ -22,8 +22,6 @@ QgsDelAttrDialog::QgsDelAttrDialog(QHeaderView* header): QDialog() { setupUi(this); - QObject::connect(mOkButton, SIGNAL(clicked(bool)), this, SLOT(accept())); - QObject::connect(mCancelButton, SIGNAL(clicked(bool)), this, SLOT(reject())); //insert attribute names into the QListView if(header) diff --git a/src/app/qgslabeldialog.cpp b/src/app/qgslabeldialog.cpp index e5c88dc1cf3..7a84c73a631 100644 --- a/src/app/qgslabeldialog.cpp +++ b/src/app/qgslabeldialog.cpp @@ -45,27 +45,12 @@ QgsLabelDialog::QgsLabelDialog ( QgsLabel *label, QWidget *parent ) init(); - connect( sliderFontTransparency, SIGNAL(sliderMoved(int)), - spinFontTransparency, SLOT(setValue(int)) ); - connect( spinFontTransparency, SIGNAL(valueChanged(int)), - sliderFontTransparency, SLOT(setValue(int)) ); - connect( sliderAngle, SIGNAL(valueChanged(int)), - spinAngle, SLOT(setValue(int)) ); - connect( spinAngle, SIGNAL(valueChanged(int)), - sliderAngle, SLOT(setValue(int)) ); - connect( sliderBufferTransparency, SIGNAL(sliderMoved(int)), - spinBufferTransparency, SLOT(setValue(int)) ); - connect( spinBufferTransparency, SIGNAL(valueChanged(int)), - sliderBufferTransparency, SLOT(setValue(int)) ); connect( btnDefaultFont, SIGNAL(clicked()), this, SLOT(changeFont()) ); connect( pbnDefaultBufferColor_2, SIGNAL(clicked()), this, SLOT(changeBufferColor()) ); connect( pbnDefaultFontColor, SIGNAL(clicked()), this, SLOT(changeFontColor()) ); - //added by Tim to force scrolling of tab bar on Mac - tabWidget2->setElideMode(Qt::ElideNone); - tabWidget2->setUsesScrollButtons(true); } diff --git a/src/app/qgsoptions.cpp b/src/app/qgsoptions.cpp index 019797fdc13..d8119536939 100644 --- a/src/app/qgsoptions.cpp +++ b/src/app/qgsoptions.cpp @@ -110,6 +110,7 @@ QgsOptions::QgsOptions(QWidget *parent, Qt::WFlags fl) : // but the checkbox is true to use QPixmap chkUseQPixmap->setChecked(!(settings.value("/qgis/use_qimage_to_render", true).toBool())); chkAddedVisibility->setChecked(settings.value("/qgis/new_layers_visible",true).toBool()); + cbxLegendClassifiers->setChecked(settings.value("/qgis/showLegendClassifiers",false).toBool()); cbxHideSplash->setChecked(settings.value("/qgis/hideSplash",false).toBool()); //set the colour for selections @@ -246,6 +247,7 @@ void QgsOptions::saveOptions() { QSettings settings; settings.writeEntry("/Map/identifyRadius", spinBoxIdentifyValue->value()); + settings.writeEntry("/qgis/showLegendClassifiers",cbxLegendClassifiers->isChecked()); settings.writeEntry("/qgis/hideSplash",cbxHideSplash->isChecked()); settings.writeEntry("/qgis/new_layers_visible",chkAddedVisibility->isChecked()); settings.writeEntry("/qgis/enable_anti_aliasing",chkAntiAliasing->isChecked()); diff --git a/src/app/qgsvectorlayerproperties.cpp b/src/app/qgsvectorlayerproperties.cpp index cf1a7352ed0..35d6814d4a2 100644 --- a/src/app/qgsvectorlayerproperties.cpp +++ b/src/app/qgsvectorlayerproperties.cpp @@ -401,35 +401,35 @@ void QgsVectorLayerProperties::on_pbnIndex_clicked() QString QgsVectorLayerProperties::getMetadata() { - QString myMetedata = ""; - myMetedata += ""; + QString myMetadata = ""; + myMetadata += "
"; //------------- - myMetedata += ""; + myMetadata += ""; // data comment if (!(layer->dataComment().isEmpty())) { - myMetedata += ""; + myMetadata += ""; } //storage type - myMetedata += ""; + myMetadata += ""; // data source - myMetedata += ""; + myMetadata += ""; //geom type @@ -443,33 +443,33 @@ QString QgsVectorLayerProperties::getMetadata() { QString vectorTypeString( QGis::qgisVectorGeometryType[layer->vectorType()] ); - myMetedata += ""; + myMetadata += ""; } //feature count - myMetedata += ""; + myMetadata += ""; //capabilities - myMetedata += ""; + myMetadata += ""; //------------- QgsRect myExtent = layer->extent(); - myMetedata += ""; + myMetadata += ""; //extents in layer cs TODO...maybe make a little nested table to improve layout... - myMetedata += ""; + myMetadata += ""; //extents in project cs @@ -487,8 +487,8 @@ QString QgsVectorLayerProperties::getMetadata() /* // TODO: currently disabled, will revisit later [MD] QgsRect myProjectedExtent = coordinateTransform->transformBoundingBox(layer->extent()); - myMetedata += ""; + myMetadata += ""; */ // // Display layer spatial ref system // - myMetedata += ""; - myMetedata += ""; + myMetadata += ""; + myMetadata += ""; // // Display project (output) spatial ref system // /* // TODO: disabled for now, will revisit later [MD] - myMetedata += ""; - myMetedata += ""; + myMetadata += ""; + myMetadata += ""; */ } @@ -529,10 +529,10 @@ QString QgsVectorLayerProperties::getMetadata() Q_UNUSED(cse); QgsDebugMsg( cse.what() ); - myMetedata += ""; + myMetadata += ""; } @@ -540,28 +540,28 @@ QString QgsVectorLayerProperties::getMetadata() // // Add the info about each field in the attribute table // - myMetedata += ""; - myMetedata += ""; + myMetadata += ""; //end of stats container table row + myMetadata += "
"; - myMetedata += tr("General:"); - myMetedata += "
"; + myMetadata += tr("General:"); + myMetadata += "
"; - myMetedata += tr("Layer comment: ") + + myMetadata += "
"; + myMetadata += tr("Layer comment: ") + layer->dataComment(); - myMetedata += "
"; - myMetedata += tr("Storage type of this layer : ") + + myMetadata += "
"; + myMetadata += tr("Storage type of this layer : ") + layer->storageType(); - myMetedata += "
"; - myMetedata += tr("Source for this layer : ") + + myMetadata += "
"; + myMetadata += tr("Source for this layer : ") + layer->publicSource(); - myMetedata += "
"; - myMetedata += tr("Geometry type of the features in this layer : ") + + myMetadata += "
"; + myMetadata += tr("Geometry type of the features in this layer : ") + vectorTypeString; - myMetedata += "
"; - myMetedata += tr("The number of features in this layer : ") + + myMetadata += "
"; + myMetadata += tr("The number of features in this layer : ") + QString::number(layer->featureCount()); - myMetedata += "
"; - myMetedata += tr("Editing capabilities of this layer : ") + + myMetadata += "
"; + myMetadata += tr("Editing capabilities of this layer : ") + layer->capabilitiesString(); - myMetedata += "
"; - myMetedata += tr("Extents:"); - myMetedata += "
"; + myMetadata += tr("Extents:"); + myMetadata += "
"; - myMetedata += tr("In layer spatial reference system units : ") + + myMetadata += "
"; + myMetadata += tr("In layer spatial reference system units : ") + tr("xMin,yMin ") + QString::number(myExtent.xMin()) + "," + @@ -478,7 +478,7 @@ QString QgsVectorLayerProperties::getMetadata() QString::number(myExtent.xMax()) + "," + QString::number(myExtent.yMax()); - myMetedata += "
"; - myMetedata += tr("In project spatial reference system units : ") + + myMetadata += "
"; + myMetadata += tr("In project spatial reference system units : ") + tr("xMin,yMin ") + QString::number(myProjectedExtent.xMin()) + "," + @@ -497,30 +497,30 @@ QString QgsVectorLayerProperties::getMetadata() QString::number(myProjectedExtent.xMax()) + "," + QString::number(myProjectedExtent.yMax()); - myMetedata += "
"; - myMetedata += tr("Layer Spatial Reference System:"); - myMetedata += "
"; - myMetedata += layer->srs().proj4String().replace(QRegExp("\"")," \""); - myMetedata += "
"; + myMetadata += tr("Layer Spatial Reference System:"); + myMetadata += "
"; + myMetadata += layer->srs().proj4String().replace(QRegExp("\"")," \""); + myMetadata += "
"; - myMetedata += tr("Project (Output) Spatial Reference System:"); - myMetedata += "
"; - myMetedata += coordinateTransform->destSRS().proj4String().replace(QRegExp("\"")," \""); - myMetedata += "
"; + myMetadata += tr("Project (Output) Spatial Reference System:"); + myMetadata += "
"; + myMetadata += coordinateTransform->destSRS().proj4String().replace(QRegExp("\"")," \""); + myMetadata += "
"; - myMetedata += tr("In project spatial reference system units : "); - myMetedata += " (Invalid transformation of layer extents) "; - myMetedata += "
"; + myMetadata += tr("In project spatial reference system units : "); + myMetadata += " (Invalid transformation of layer extents) "; + myMetadata += "
"; - myMetedata += tr("Attribute field info:"); - myMetedata += "
"; + myMetadata += "
"; + myMetadata += tr("Attribute field info:"); + myMetadata += "
"; // Start a nested table in this trow - myMetedata += ""; - myMetedata += ""; - myMetedata += ""; - myMetedata += ""; - myMetedata += ""; - myMetedata += ""; + myMetadata += "
"; - myMetedata += tr("Field"); - myMetedata += ""; - myMetedata += tr("Type"); - myMetedata += ""; - myMetedata += tr("Length"); - myMetedata += ""; - myMetedata += tr("Precision"); - myMetedata += ""; - myMetedata += tr("Comment"); - myMetedata += "
"; + myMetadata += ""; + myMetadata += ""; + myMetadata += ""; + myMetadata += ""; + myMetadata += ""; //get info for each field by looping through them QgsVectorDataProvider *myDataProvider = dynamic_cast(layer->getDataProvider()); @@ -570,33 +570,33 @@ QString QgsVectorLayerProperties::getMetadata() { const QgsField& myField = *it; - myMetedata += ""; - myMetedata += ""; - myMetedata += ""; - myMetedata += ""; - myMetedata += ""; + myMetadata += ""; + myMetadata += ""; + myMetadata += ""; + myMetadata += ""; + myMetadata += ""; } //close field list - myMetedata += "
"; + myMetadata += tr("Field"); + myMetadata += ""; + myMetadata += tr("Type"); + myMetadata += ""; + myMetadata += tr("Length"); + myMetadata += ""; + myMetadata += tr("Precision"); + myMetadata += ""; + myMetadata += tr("Comment"); + myMetadata += "
"; - myMetedata += myField.name(); - myMetedata += ""; - myMetedata += myField.typeName(); - myMetedata += ""; - myMetedata += QString("%1").arg(myField.length()); - myMetedata += ""; - myMetedata += QString("%1").arg(myField.precision()); - myMetedata += ""; - myMetedata += QString("%1").arg(myField.comment()); - myMetedata += "
"; + myMetadata += myField.name(); + myMetadata += ""; + myMetadata += myField.typeName(); + myMetadata += ""; + myMetadata += QString("%1").arg(myField.length()); + myMetadata += ""; + myMetadata += QString("%1").arg(myField.precision()); + myMetadata += ""; + myMetadata += QString("%1").arg(myField.comment()); + myMetadata += "
"; //end of nested table - myMetedata += "
"; //end of nested table + myMetadata += ""; //end of stats container table row // // Close the table // - myMetedata += ""; - myMetedata += ""; - return myMetedata; + myMetadata += ""; + myMetadata += ""; + return myMetadata; } diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 53d31f43717..28b9f778600 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -1,279 +1,279 @@ - - -############################################################# -# sources - -SET(QGIS_CORE_SRCS - qgis.cpp - qgsapplication.cpp - qgsattributeaction.cpp - qgsclipper.cpp - qgscontexthelp.cpp - qgscoordinatetransform.cpp - qgsdatasourceuri.cpp - qgsdistancearea.cpp - qgsexception.cpp - qgsfeature.cpp - qgsfield.cpp - qgsgeometry.cpp - qgshttptransaction.cpp - qgslabel.cpp - qgslabelattributes.cpp - qgsline.cpp - qgslogger.cpp - qgsmaplayer.cpp - qgsmaplayerregistry.cpp - qgsmaprender.cpp - qgsmaptopixel.cpp - qgsmessageoutput.cpp - qgspoint.cpp - qgsproject.cpp - qgsprojectfiletransform.cpp - qgsprojectversion.cpp - qgsprojectproperty.cpp - qgsprovidercountcalcevent.cpp - qgsproviderextentcalcevent.cpp - qgsprovidermetadata.cpp - qgsproviderregistry.cpp - qgsrasterdataprovider.cpp - qgsrendercontext.cpp - qgsrect.cpp - qgsrunprocess.cpp - qgsscalecalculator.cpp - qgssearchstring.cpp - qgssearchtreenode.cpp - qgssnapper.cpp - qgsspatialrefsys.cpp - qgsvectordataprovider.cpp - qgsvectorfilewriter.cpp - qgsvectorlayer.cpp - - raster/qgscliptominmaxenhancement.cpp - raster/qgscolorrampshader.cpp - raster/qgscolortable.cpp - raster/qgscontrastenhancement.cpp - raster/qgscontrastenhancementfunction.cpp - raster/qgsfreakoutshader.cpp - raster/qgslinearminmaxenhancement.cpp - raster/qgslinearminmaxenhancementwithclip.cpp - raster/qgspseudocolorshader.cpp - raster/qgsrasterlayer.cpp - raster/qgsrastertransparency.cpp - raster/qgsrastershader.cpp - raster/qgsrastershaderfunction.cpp - - renderer/qgscontinuouscolorrenderer.cpp - renderer/qgsgraduatedsymbolrenderer.cpp - renderer/qgsrenderer.cpp - renderer/qgssinglesymbolrenderer.cpp - renderer/qgsuniquevaluerenderer.cpp - - symbology/qgsmarkercatalogue.cpp - symbology/qgssymbol.cpp - symbology/qgssymbologyutils.cpp - - spatialindex/qgsspatialindex.cpp - ) -IF (WITH_INTERNAL_SQLITE3) - SET(QGIS_CORE_SRCS - ${QGIS_CORE_SRCS} - sqlite3/sqlite3.c - ) -ENDIF (WITH_INTERNAL_SQLITE3) - -ADD_FLEX_FILES(QGIS_CORE_SRCS qgssearchstringlexer.ll) - -ADD_BISON_FILES(QGIS_CORE_SRCS qgssearchstringparser.yy) - -# Disable compiler warnings for lex generated sources -SET_SOURCE_FILES_PROPERTIES( - ${CMAKE_BINARY_DIR}/src/core/flex_qgssearchstringlexer.cpp - PROPERTIES COMPILE_FLAGS -w) - -SET(QGIS_CORE_MOC_HDRS -qgscontexthelp.h -qgscoordinatetransform.h -qgsdataprovider.h -qgshttptransaction.h -qgsmaplayer.h -qgsmaplayerregistry.h -qgsmaprender.h -qgsmessageoutput.h -qgsproject.h -qgsrunprocess.h -qgsvectorlayer.h -qgsrasterdataprovider.h -raster/qgsrasterlayer.h -) - -QT4_WRAP_CPP(QGIS_CORE_MOC_SRCS ${QGIS_CORE_MOC_HDRS}) - -INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR} - raster - renderer - symbology - spatialindex/include - ${PROJ_INCLUDE_DIR} - ${GEOS_INCLUDE_DIR} - ${GDAL_INCLUDE_DIR} -) -IF (WITH_INTERNAL_SQLITE3) - INCLUDE_DIRECTORIES(sqlite3) -ELSE (WITH_INTERNAL_SQLITE3) - INCLUDE_DIRECTORIES(${SQLITE3_INCLUDE_DIR}) -ENDIF (WITH_INTERNAL_SQLITE3) - -IF (WIN32) - IF (MSVC) - ADD_DEFINITIONS("-DCORE_EXPORT=__declspec(dllexport)") - ELSE (MSVC) - ADD_DEFINITIONS("-UCORE_EXPORT \"-DCORE_EXPORT=__declspec(dllexport)\"") - ENDIF (MSVC) -ENDIF (WIN32) - -############################################################# -# spatial indexing library - -# add path prefix to every specified file -MACRO(PATH_PREFIX OUTPUT PREFIX) - FOREACH(F ${ARGN}) - SET(${OUTPUT} ${${OUTPUT}} ${PREFIX}/${F}) - ENDFOREACH(F) -ENDMACRO(PATH_PREFIX) - -# tools library -PATH_PREFIX(TOOLS_SRC tools ExternalSort.cc ExternalSort.h TemporaryFile.cc Tools.cc) -PATH_PREFIX(GEOM_SRC geometry LineSegment.cc Point.cc Region.cc) - -# spatial index library -PATH_PREFIX(SPINDEX_SRC spatialindex SpatialIndexImpl.cc) -PATH_PREFIX(STMAN_SRC storagemanager Buffer.cc DiskStorageManager.cc MemoryStorageManager.cc RandomEvictionsBuffer.cc) -PATH_PREFIX(RTREE_SRC rtree BulkLoader.cc Index.cc Leaf.cc Node.cc RTree.cc Statistics.cc) - -SET(SPINDEX_SRC ${TOOLS_SRC} ${GEOM_SRC} ${SPINDEX_SRC} ${STMAN_SRC} ${RTREE_SRC}) - -PATH_PREFIX(INDEX_SRC spatialindex ${SPINDEX_SRC}) - -############################################################# -# qgis_core library - -ADD_LIBRARY(qgis_core SHARED ${QGIS_CORE_SRCS} ${QGIS_CORE_MOC_SRCS} ${INDEX_SRC}) - -SET_TARGET_PROPERTIES(qgis_core PROPERTIES - VERSION ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR} - SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}) - -# make sure to create qgssvnversion.h before compiling -ADD_DEPENDENCIES(qgis_core svnversion) - -# because of htonl -IF (WIN32) - SET(PLATFORM_LIBRARIES wsock32) - IF (MSVC) - #needed for linking to gdal which needs odbc - SET(PLATFORM_LIBRARIES ${PLATFORM_LIBRARIES} odbc32 odbccp32) - ENDIF (MSVC) -ENDIF (WIN32) - -TARGET_LINK_LIBRARIES(qgis_core - ${QT_QTCORE_LIBRARY} - ${QT_QTGUI_LIBRARY} - ${QT_QTXML_LIBRARY} - ${QT_QTSVG_LIBRARY} - ${QT_QTNETWORK_LIBRARY} - ${QT_QTMAIN_LIBRARY} - ${PROJ_LIBRARY} - ${GEOS_LIBRARY} - ${GDAL_LIBRARY} - ${PLATFORM_LIBRARIES} -) - -IF (NOT WITH_INTERNAL_SQLITE3) - TARGET_LINK_LIBRARIES(qgis_core ${SQLITE3_LIBRARY}) -ENDIF (NOT WITH_INTERNAL_SQLITE3) - -INSTALL(TARGETS qgis_core - RUNTIME DESTINATION ${QGIS_BIN_DIR} - LIBRARY DESTINATION ${QGIS_LIB_DIR} - ARCHIVE DESTINATION ${QGIS_LIB_DIR}) - - -# Added by Tim to install headers - -SET(QGIS_CORE_HDRS -qgis.h -qgsapplication.h -qgsattributeaction.h -qgsclipper.h -qgscontexthelp.h -qgscoordinatetransform.h -qgsdatasourceuri.h -qgsdistancearea.h -qgscsexception.h -qgsexception.h -qgsfeature.h -qgsfield.h -qgsgeometry.h -qgshttptransaction.h -qgslabel.h -qgslabelattributes.h -qgsline.h -qgslogger.h -qgsmaplayer.h -qgsmaplayerregistry.h -qgsmaprender.h -qgsmaptopixel.h -qgsmessageoutput.h -qgspoint.h -qgsproject.h -qgsprojectfiletransform.h -qgsprojectproperty.h -qgsprojectversion.h -qgsprovidercountcalcevent.h -qgsproviderextentcalcevent.h -qgsprovidermetadata.h -qgsproviderregistry.h -qgsrasterdataprovider.h -qgsrect.h + + +############################################################# +# sources + +SET(QGIS_CORE_SRCS + qgis.cpp + qgsapplication.cpp + qgsattributeaction.cpp + qgsclipper.cpp + qgscontexthelp.cpp + qgscoordinatetransform.cpp + qgsdatasourceuri.cpp + qgsdistancearea.cpp + qgsexception.cpp + qgsfeature.cpp + qgsfield.cpp + qgsgeometry.cpp + qgshttptransaction.cpp + qgslabel.cpp + qgslabelattributes.cpp + qgsline.cpp + qgslogger.cpp + qgsmaplayer.cpp + qgsmaplayerregistry.cpp + qgsmaprender.cpp + qgsmaptopixel.cpp + qgsmessageoutput.cpp + qgspoint.cpp + qgsproject.cpp + qgsprojectfiletransform.cpp + qgsprojectversion.cpp + qgsprojectproperty.cpp + qgsprovidercountcalcevent.cpp + qgsproviderextentcalcevent.cpp + qgsprovidermetadata.cpp + qgsproviderregistry.cpp + qgsrasterdataprovider.cpp + qgsrendercontext.cpp + qgsrect.cpp + qgsrunprocess.cpp + qgsscalecalculator.cpp + qgssearchstring.cpp + qgssearchtreenode.cpp + qgssnapper.cpp + qgsspatialrefsys.cpp + qgsvectordataprovider.cpp + qgsvectorfilewriter.cpp + qgsvectorlayer.cpp + + raster/qgscliptominmaxenhancement.cpp + raster/qgscolorrampshader.cpp + raster/qgscolortable.cpp + raster/qgscontrastenhancement.cpp + raster/qgscontrastenhancementfunction.cpp + raster/qgsfreakoutshader.cpp + raster/qgslinearminmaxenhancement.cpp + raster/qgslinearminmaxenhancementwithclip.cpp + raster/qgspseudocolorshader.cpp + raster/qgsrasterlayer.cpp + raster/qgsrastertransparency.cpp + raster/qgsrastershader.cpp + raster/qgsrastershaderfunction.cpp + + renderer/qgscontinuouscolorrenderer.cpp + renderer/qgsgraduatedsymbolrenderer.cpp + renderer/qgsrenderer.cpp + renderer/qgssinglesymbolrenderer.cpp + renderer/qgsuniquevaluerenderer.cpp + + symbology/qgsmarkercatalogue.cpp + symbology/qgssymbol.cpp + symbology/qgssymbologyutils.cpp + + spatialindex/qgsspatialindex.cpp + ) +IF (WITH_INTERNAL_SQLITE3) + SET(QGIS_CORE_SRCS + ${QGIS_CORE_SRCS} + sqlite3/sqlite3.c + ) +ENDIF (WITH_INTERNAL_SQLITE3) + +ADD_FLEX_FILES(QGIS_CORE_SRCS qgssearchstringlexer.ll) + +ADD_BISON_FILES(QGIS_CORE_SRCS qgssearchstringparser.yy) + +# Disable compiler warnings for lex generated sources +SET_SOURCE_FILES_PROPERTIES( + ${CMAKE_BINARY_DIR}/src/core/flex_qgssearchstringlexer.cpp + PROPERTIES COMPILE_FLAGS -w) + +SET(QGIS_CORE_MOC_HDRS +qgscontexthelp.h +qgscoordinatetransform.h +qgsdataprovider.h +qgshttptransaction.h +qgsmaplayer.h +qgsmaplayerregistry.h +qgsmaprender.h +qgsmessageoutput.h +qgsproject.h +qgsrunprocess.h +qgsvectorlayer.h +qgsrasterdataprovider.h +raster/qgsrasterlayer.h +) + +QT4_WRAP_CPP(QGIS_CORE_MOC_SRCS ${QGIS_CORE_MOC_HDRS}) + +INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR} + raster + renderer + symbology + spatialindex/include + ${PROJ_INCLUDE_DIR} + ${GEOS_INCLUDE_DIR} + ${GDAL_INCLUDE_DIR} +) +IF (WITH_INTERNAL_SQLITE3) + INCLUDE_DIRECTORIES(sqlite3) +ELSE (WITH_INTERNAL_SQLITE3) + INCLUDE_DIRECTORIES(${SQLITE3_INCLUDE_DIR}) +ENDIF (WITH_INTERNAL_SQLITE3) + +IF (WIN32) + IF (MSVC) + ADD_DEFINITIONS("-DCORE_EXPORT=__declspec(dllexport)") + ELSE (MSVC) + ADD_DEFINITIONS("-UCORE_EXPORT \"-DCORE_EXPORT=__declspec(dllexport)\"") + ENDIF (MSVC) +ENDIF (WIN32) + +############################################################# +# spatial indexing library + +# add path prefix to every specified file +MACRO(PATH_PREFIX OUTPUT PREFIX) + FOREACH(F ${ARGN}) + SET(${OUTPUT} ${${OUTPUT}} ${PREFIX}/${F}) + ENDFOREACH(F) +ENDMACRO(PATH_PREFIX) + +# tools library +PATH_PREFIX(TOOLS_SRC tools ExternalSort.cc ExternalSort.h TemporaryFile.cc Tools.cc) +PATH_PREFIX(GEOM_SRC geometry LineSegment.cc Point.cc Region.cc) + +# spatial index library +PATH_PREFIX(SPINDEX_SRC spatialindex SpatialIndexImpl.cc) +PATH_PREFIX(STMAN_SRC storagemanager Buffer.cc DiskStorageManager.cc MemoryStorageManager.cc RandomEvictionsBuffer.cc) +PATH_PREFIX(RTREE_SRC rtree BulkLoader.cc Index.cc Leaf.cc Node.cc RTree.cc Statistics.cc) + +SET(SPINDEX_SRC ${TOOLS_SRC} ${GEOM_SRC} ${SPINDEX_SRC} ${STMAN_SRC} ${RTREE_SRC}) + +PATH_PREFIX(INDEX_SRC spatialindex ${SPINDEX_SRC}) + +############################################################# +# qgis_core library + +ADD_LIBRARY(qgis_core SHARED ${QGIS_CORE_SRCS} ${QGIS_CORE_MOC_SRCS} ${INDEX_SRC}) + +SET_TARGET_PROPERTIES(qgis_core PROPERTIES + VERSION ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR} + SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}) + +# make sure to create qgssvnversion.h before compiling +ADD_DEPENDENCIES(qgis_core svnversion) + +# because of htonl +IF (WIN32) + SET(PLATFORM_LIBRARIES wsock32) + IF (MSVC) + #needed for linking to gdal which needs odbc + SET(PLATFORM_LIBRARIES ${PLATFORM_LIBRARIES} odbc32 odbccp32) + ENDIF (MSVC) +ENDIF (WIN32) + +TARGET_LINK_LIBRARIES(qgis_core + ${QT_QTCORE_LIBRARY} + ${QT_QTGUI_LIBRARY} + ${QT_QTXML_LIBRARY} + ${QT_QTSVG_LIBRARY} + ${QT_QTNETWORK_LIBRARY} + ${QT_QTMAIN_LIBRARY} + ${PROJ_LIBRARY} + ${GEOS_LIBRARY} + ${GDAL_LIBRARY} + ${PLATFORM_LIBRARIES} +) + +IF (NOT WITH_INTERNAL_SQLITE3) + TARGET_LINK_LIBRARIES(qgis_core ${SQLITE3_LIBRARY}) +ENDIF (NOT WITH_INTERNAL_SQLITE3) + +INSTALL(TARGETS qgis_core + RUNTIME DESTINATION ${QGIS_BIN_DIR} + LIBRARY DESTINATION ${QGIS_LIB_DIR} + ARCHIVE DESTINATION ${QGIS_LIB_DIR}) + + +# Added by Tim to install headers + +SET(QGIS_CORE_HDRS +qgis.h +qgsapplication.h +qgsattributeaction.h +qgsclipper.h +qgscontexthelp.h +qgscoordinatetransform.h +qgsdatasourceuri.h +qgsdistancearea.h +qgscsexception.h +qgsexception.h +qgsfeature.h +qgsfield.h +qgsgeometry.h +qgshttptransaction.h +qgslabel.h +qgslabelattributes.h +qgsline.h +qgslogger.h +qgsmaplayer.h +qgsmaplayerregistry.h +qgsmaprender.h +qgsmaptopixel.h +qgsmessageoutput.h +qgspoint.h +qgsproject.h +qgsprojectfiletransform.h +qgsprojectproperty.h +qgsprojectversion.h +qgsprovidercountcalcevent.h +qgsproviderextentcalcevent.h +qgsprovidermetadata.h +qgsproviderregistry.h +qgsrasterdataprovider.h +qgsrect.h qgsrendercontext.h -qgsrunprocess.h -qgsscalecalculator.h -qgssearchstring.h -qgssearchtreenode.h -qgssnapper.h -qgsspatialrefsys.h -qgsvectordataprovider.h -qgsvectorfilewriter.h -qgsvectorlayer.h - -raster/qgscliptominmaxenhancement.h -raster/qgscolorrampshader.h -raster/qgscolortable.h -raster/qgscolorrampshader.h -raster/qgscontrastenhancement.h -raster/qgscontrastenhancementfunction.h -raster/qgsfreakoutshader.h -raster/qgslinearminmaxenhancement.h -raster/qgslinearminmaxenhancementwithclip.h -raster/qgspseudocolorshader.h -raster/qgsrasterbandstats.h -raster/qgsrasterlayer.h -raster/qgsrastertransparency.h -raster/qgsrastershader.h -raster/qgsrastershaderfunction.h - -renderer/qgscontinuouscolorrenderer.h -renderer/qgsgraduatedsymbolrenderer.h -renderer/qgsrenderer.h -renderer/qgssinglesymbolrenderer.h -renderer/qgsuniquevaluerenderer.h - -symbology/qgsmarkercatalogue.h -symbology/qgssymbol.h -symbology/qgssymbologyutils.h - -spatialindex/qgsspatialindex.h -) - -INSTALL(CODE "MESSAGE(\"Installing CORE headers...\")") -INSTALL(FILES ${QGIS_CORE_HDRS} ${QGIS_CORE_MOC_HDRS} DESTINATION ${QGIS_INCLUDE_DIR}) +qgsrunprocess.h +qgsscalecalculator.h +qgssearchstring.h +qgssearchtreenode.h +qgssnapper.h +qgsspatialrefsys.h +qgsvectordataprovider.h +qgsvectorfilewriter.h +qgsvectorlayer.h + +raster/qgscliptominmaxenhancement.h +raster/qgscolorrampshader.h +raster/qgscolortable.h +raster/qgscolorrampshader.h +raster/qgscontrastenhancement.h +raster/qgscontrastenhancementfunction.h +raster/qgsfreakoutshader.h +raster/qgslinearminmaxenhancement.h +raster/qgslinearminmaxenhancementwithclip.h +raster/qgspseudocolorshader.h +raster/qgsrasterbandstats.h +raster/qgsrasterlayer.h +raster/qgsrastertransparency.h +raster/qgsrastershader.h +raster/qgsrastershaderfunction.h + +renderer/qgscontinuouscolorrenderer.h +renderer/qgsgraduatedsymbolrenderer.h +renderer/qgsrenderer.h +renderer/qgssinglesymbolrenderer.h +renderer/qgsuniquevaluerenderer.h + +symbology/qgsmarkercatalogue.h +symbology/qgssymbol.h +symbology/qgssymbologyutils.h + +spatialindex/qgsspatialindex.h +) + +INSTALL(CODE "MESSAGE(\"Installing CORE headers...\")") +INSTALL(FILES ${QGIS_CORE_HDRS} ${QGIS_CORE_MOC_HDRS} DESTINATION ${QGIS_INCLUDE_DIR}) diff --git a/src/core/qgsapplication.cpp b/src/core/qgsapplication.cpp index 05a2e0f3a76..747513b4be1 100644 --- a/src/core/qgsapplication.cpp +++ b/src/core/qgsapplication.cpp @@ -255,49 +255,29 @@ void QgsApplication::showSettings() QString QgsApplication::reportStyleSheet() { + // + // Make the style sheet desktop preferences aware by using qappliation + // palette as a basis for colours where appropriate + // + QColor myColor1 = palette().highlight(); + QColor myColor2 = myColor1; + myColor2 = myColor2.lighter(110); //10% lighter QString myStyle; - myStyle = ".glossy{ background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #616161, stop: 0.5 #505050, stop: 0.6 #434343, stop:1 #656565);" + myStyle = ".glossy{ background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, " + "stop: 0 " + myColor1.name() + "," + "stop: 0.1 " + myColor2.name() + "," + "stop: 0.5 " + myColor1.name() + "," + "stop: 0.9 " + myColor2.name() + "," + "stop: 1 " + myColor1.name() + ");" "color: white;" "padding-left: 4px;" "padding-top: 20px;" "padding-bottom: 8px;" "border: 1px solid #6c6c6c;" "}" - ".glossyBlue{ background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #3087d3, stop: 0.5 #3794e2, stop: 0.6 #43a6f9, stop:1 #2f87d1);" - "color: white;" - "padding-left: 4px;" - "padding-top: 20px;" - "padding-bottom: 8px;" - "border: 1px solid #44a7fb;" - "}" - "h1 {font-size : 22pt; }" - "h2 {font-size : 18pt; }" - "h3 {font-size : 14pt; }" - ".glossyh3{ " - "background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #616161, stop: 0.5 #505050, stop: 0.6 #434343, stop:1 #656565);" - "color: white; " - "padding-left: 4px; " - "padding-top: 20px;" - "padding-bottom: 8px; " - "border: 1px solid #6c6c6c; }" - ".headerCell, th {color:#466aa5; " - "font-size : 12pt; " - "font-weight: bold; " - "width: 100%;" - "align: left;" - "}" - ".parameterHeader {font-weight: bold;}" - ".largeCell {color:#000000; font-size : 12pt;}" - ".alternateCell {font-weight: bold;}" - ".rocTable " - "{" - " border-width: 1px 1px 1px 1px;" - " border-spacing: 2px;" - " border-style: solid solid solid solid;" //unsupported - " border-color: black black black black;" //unsupported - " border-collapse: separate;" - " background-color: white;" - "}"; + "h1 {font-size : 22pt; }" + "h2 {font-size : 18pt; }" + "h3 {font-size : 14pt; }"; return myStyle; } diff --git a/src/core/raster/qgsrasterlayer.cpp b/src/core/raster/qgsrasterlayer.cpp index 92225f31c52..97e05d2530f 100644 --- a/src/core/raster/qgsrasterlayer.cpp +++ b/src/core/raster/qgsrasterlayer.cpp @@ -3425,7 +3425,7 @@ cStringList2Q_( char ** stringList ) QString QgsRasterLayer::getMetadata() { QString myMetadata ; - myMetadata += "

" + tr("Driver:") + "

\n"; + myMetadata += "

" + tr("Driver:") + "

\n"; myMetadata += "

"; if (mProviderKey.isEmpty()) { @@ -3449,7 +3449,7 @@ QString QgsRasterLayer::getMetadata() // my added code (MColetti) - myMetadata += "

"; + myMetadata += "

"; myMetadata += tr("Dataset Description"); myMetadata += "

\n"; myMetadata += "

"; @@ -3471,7 +3471,7 @@ QString QgsRasterLayer::getMetadata() for ( int i = 1; i <= GDALGetRasterCount(mGdalDataset); ++i ) { - myMetadata += "

" + tr("Band %1").arg(i) + "

\n"; + myMetadata += "

" + tr("Band %1").arg(i) + "

\n"; GDALRasterBandH gdalBand = GDALGetRasterBand(mGdalDataset,i); GDALmetadata = GDALGetMetadata(gdalBand,NULL); @@ -3501,7 +3501,7 @@ QString QgsRasterLayer::getMetadata() // end my added code - myMetadata += "

"; + myMetadata += "

"; myMetadata += tr("Dimensions:"); myMetadata += "

\n"; myMetadata += "

"; @@ -3512,7 +3512,7 @@ QString QgsRasterLayer::getMetadata() //just use the first band GDALRasterBandH myGdalBand = GDALGetRasterBand(mGdalDataset,1); - myMetadata += "

"; + myMetadata += "

"; myMetadata += tr("No Data Value"); myMetadata += "

\n"; myMetadata += "

"; @@ -3527,7 +3527,7 @@ QString QgsRasterLayer::getMetadata() myMetadata += "

\n"; myMetadata += "

\n"; - myMetadata += "

"; + myMetadata += "

"; myMetadata += tr("Data Type:"); myMetadata += "

\n"; myMetadata += "

"; @@ -3571,7 +3571,7 @@ QString QgsRasterLayer::getMetadata() } myMetadata += "

\n"; - myMetadata += "

"; + myMetadata += "

"; myMetadata += tr("Pyramid overviews:"); myMetadata += "

\n"; myMetadata += "

"; @@ -3592,7 +3592,7 @@ QString QgsRasterLayer::getMetadata() myMetadata += "

\n"; } // if (mProviderKey.isEmpty()) - myMetadata += "

"; + myMetadata += "

"; myMetadata += tr("Layer Spatial Reference System: "); myMetadata += "

\n"; myMetadata += "

"; @@ -3620,7 +3620,7 @@ QString QgsRasterLayer::getMetadata() } else { - myMetadata += "

"; + myMetadata += "

"; myMetadata += tr("Origin:"); myMetadata += "

\n"; myMetadata += "

"; @@ -3629,7 +3629,7 @@ QString QgsRasterLayer::getMetadata() myMetadata += QString::number(mGeoTransform[3]); myMetadata += "

\n"; - myMetadata += "

"; + myMetadata += "

"; myMetadata += tr("Pixel Size:"); myMetadata += "

\n"; myMetadata += "

"; @@ -3647,7 +3647,7 @@ QString QgsRasterLayer::getMetadata() { QgsDebugMsg("Raster properties : checking if band " + QString::number(myIteratorInt) + " has stats? "); //band name - myMetadata += "

\n"; + myMetadata += "

\n"; myMetadata += tr("Band"); myMetadata += "

\n"; myMetadata += "

"; diff --git a/src/gui/qgisinterface.h b/src/gui/qgisinterface.h index 7e6128ddb62..d9ccb818a84 100644 --- a/src/gui/qgisinterface.h +++ b/src/gui/qgisinterface.h @@ -86,8 +86,11 @@ class GUI_EXPORT QgisInterface : public QObject //! Remove an action (icon) from the plugin toolbar virtual void removeToolBarIcon(QAction *qAction) = 0; //! Add toolbar with specified name - virtual QToolBar* addToolBar(QString name)=0; - + virtual QToolBar * addToolBar(QString name)=0; + /** Get the file toolbar - intended for use with plugins which + * add a new file type handler. + */ + virtual QToolBar * fileToolBar()=0; // TODO: is this deprecated in favour of QgsContextHelp? /** Open a url in the users browser. By default the QGIS doc directory is used * as the base for the URL. To open a URL that is not relative to the installed diff --git a/src/gui/qgsdetaileditemdelegate.cpp b/src/gui/qgsdetaileditemdelegate.cpp index 5af545428c6..adac55cda12 100755 --- a/src/gui/qgsdetaileditemdelegate.cpp +++ b/src/gui/qgsdetaileditemdelegate.cpp @@ -68,7 +68,7 @@ void QgsDetailedItemDelegate::paint(QPainter * thepPainter, myGradient.setColorAt(0.1, myColor2); myGradient.setColorAt(0.5, myColor1); myGradient.setColorAt(0.9, myColor2); - myGradient.setColorAt(1, myColor2); + myGradient.setColorAt(1, myColor1); thepPainter->fillRect(theOption.rect, QBrush(myGradient)); } QPixmap myPixmap = QPixmap::grabWidget(mpWidget); @@ -211,12 +211,9 @@ QSize QgsDetailedItemDelegate::sizeHint( myDetailMetrics, theOption.rect.width() - (mpCheckBox->width() + myHorizontalSpacer)); myHeight += (myList.count() + 1) * (myDetailMetrics.height() - myVerticalSpacer); -#ifdef Q_OS_MACX - //for some reason itmes are non selectable if using rect.width() on osx + //for some reason itmes are non selectable if using rect.width() on osx and win return QSize(50, myHeight + myVerticalSpacer); -#else - return QSize(theOption.rect.width(), myHeight + myVerticalSpacer); -#endif + //return QSize(theOption.rect.width(), myHeight + myVerticalSpacer); } } @@ -226,8 +223,8 @@ QStringList QgsDetailedItemDelegate::wordWrap(QString theString, { if ( theString.isEmpty() ) return QStringList(); if ( 50 >= theWidth ) return QStringList() << theString; - QString myDebug = QString("Word wrapping: %1 into %2 pixels").arg(theString).arg(theWidth); - qDebug(myDebug.toLocal8Bit()); + //QString myDebug = QString("Word wrapping: %1 into %2 pixels").arg(theString).arg(theWidth); + //qDebug(myDebug.toLocal8Bit()); //iterate the string QStringList myList; QString myCumulativeLine=""; @@ -265,3 +262,4 @@ QStringList QgsDetailedItemDelegate::wordWrap(QString theString, return myList; } + diff --git a/src/plugins/gps_importer/qgsgpsplugin.cpp b/src/plugins/gps_importer/qgsgpsplugin.cpp index 62a8d10aa7a..9d759c604ee 100644 --- a/src/plugins/gps_importer/qgsgpsplugin.cpp +++ b/src/plugins/gps_importer/qgsgpsplugin.cpp @@ -32,6 +32,7 @@ #include #include #include +#include #include #include #include @@ -97,7 +98,7 @@ void QgsGPSPlugin::initGui() connect(mQActionPointer, SIGNAL(activated()), this, SLOT(run())); connect(mCreateGPXAction, SIGNAL(activated()), this, SLOT(createGPX())); - mQGisInterface->addToolBarIcon(mQActionPointer); + mQGisInterface->fileToolBar()->addAction(mQActionPointer); mQGisInterface->addPluginMenu(tr("&Gps"), mQActionPointer); mQGisInterface->addPluginMenu(tr("&Gps"), mCreateGPXAction); } diff --git a/src/plugins/grass/CMakeLists.txt b/src/plugins/grass/CMakeLists.txt index bc2237a9743..be3285ff1c7 100644 --- a/src/plugins/grass/CMakeLists.txt +++ b/src/plugins/grass/CMakeLists.txt @@ -9,8 +9,8 @@ IF (NOT MSVC) MESSAGE("providers/grass : -Werror removed for qgsgrassplugin.cpp for now - please get rid of any compiler warnings!") ENDIF (PEDANTIC) # The warnings are caused by multiple definitions of NDEBUG in grass sources - # I have submitted a bug to teh grass folks in the meantime we need to - # disable treating warnings as errors for the affected files + # I have submitted a bug to the grass folks in the meantime we need to + # disable treating warnings as errors for the affected files TS FILE (GLOB files *.cpp) SET_SOURCE_FILES_PROPERTIES(${files} PROPERTIES COMPILE_FLAGS -Wno-error ) ENDIF (NOT MSVC) @@ -98,14 +98,23 @@ ENDIF (NOT MSVC) ######################################################## # build lib -ADD_LIBRARY (grassplugin MODULE ${GRASS_PLUGIN_SRCS} ${GRASS_PLUGIN_MOC_SRCS} ${GRASS_PLUGIN_UIS_H} ${GRASS_PLUGIN_RCC_SRCS}) +ADD_LIBRARY (grassplugin MODULE + ${GRASS_PLUGIN_SRCS} + ${GRASS_PLUGIN_MOC_SRCS} + ${GRASS_PLUGIN_UIS_H} + ${GRASS_PLUGIN_RCC_SRCS} + ) INCLUDE_DIRECTORIES( . - ${CMAKE_CURRENT_BINARY_DIR} - ../../core ../../core/raster ../../core/renderer ../../core/symbology - ../../gui .. + ${CMAKE_CURRENT_BINARY_DIR} + ../../core + ../../core/raster + ../../core/renderer + ../../core/symbology + ../../gui + ${CMAKE_CURRENT_BINARY_DIR}/../../ui ${GRASS_INCLUDE_DIR} ${GDAL_INCLUDE_DIR} ${PROJ_INCLUDE_DIR} diff --git a/src/plugins/grass/qgsgrasstools.cpp b/src/plugins/grass/qgsgrasstools.cpp index fe0a49ebd67..dd06099cd6d 100644 --- a/src/plugins/grass/qgsgrasstools.cpp +++ b/src/plugins/grass/qgsgrasstools.cpp @@ -72,6 +72,19 @@ extern "C" { #include "qgsgrassmodel.h" #include "qgsgrassbrowser.h" + +// +// For experimental model view alternative ui by Tim +// +// +#include +#include +#include +#include +#include + + + #if defined(WIN32) #include static QString getShortPath(const QString &path) @@ -120,9 +133,34 @@ QgsGrassTools::QgsGrassTools ( QgisInterface *iface, QVBoxLayout *layout1 = new QVBoxLayout(this); layout1->addWidget(mTabWidget); + // + // Tims experimental list view with filter + // + mModelTools= new QStandardItemModel(0,1); + mModelProxy = new QSortFilterProxyModel(this); + mModelProxy->setSourceModel(mModelTools); + mModelProxy->setFilterRole(Qt::UserRole + 2); + mListView = new QListView(); + mListView->setModel(mModelProxy); + mListView->setFocus(); + mListView->setItemDelegateForColumn(0,new QgsDetailedItemDelegate()); + mListView->setUniformItemSizes(false); + QWidget * mypBase = new QWidget(this); + QVBoxLayout * mypListTabLayout = new QVBoxLayout(mypBase); + mypListTabLayout->addWidget(mListView); + mFilterInput = new QLineEdit(this); + mypListTabLayout->addWidget(mFilterInput); + mTabWidget->addTab( mypBase, tr("Modules List") ); + connect( mFilterInput, SIGNAL(textChanged(QString)), + this, SLOT(filterChanged(QString)) ); + connect( mListView, SIGNAL(clicked(const QModelIndex)), + this, SLOT(listItemClicked(const QModelIndex))); + // + // End of Tims experimental bit + // mModulesListView = new QTreeWidget(); - mTabWidget->addTab( mModulesListView, tr("Modules") ); + mTabWidget->addTab( mModulesListView, tr("Modules Tree") ); mModulesListView->setColumnCount(1); QStringList headers; headers << tr("Modules"); @@ -174,7 +212,11 @@ void QgsGrassTools::moduleClicked( QTreeWidgetItem * item, int column ) #ifdef QGISDEBUG std::cerr << "name = " << name.ascii() << std::endl; #endif + runModule(name); +} +void QgsGrassTools::runModule(QString name) +{ if ( name.length() == 0 ) return; // Section #ifndef WIN32 @@ -335,23 +377,30 @@ void QgsGrassTools::addModules ( QTreeWidgetItem *parent, QDomElement &element QTreeWidgetItem *item; QTreeWidgetItem *lastItem = 0; - while( !n.isNull() ) { + while( !n.isNull() ) + { QDomElement e = n.toElement(); - if( !e.isNull() ) { + if( !e.isNull() ) + { //std::cout << "tag = " << e.tagName() << std::endl; - if ( e.tagName() == "section" && e.tagName() == "grass" ) { + if ( e.tagName() == "section" && e.tagName() == "grass" ) + { std::cout << "Unknown tag: " << e.tagName().toLocal8Bit().data() << std::endl; continue; } - if ( parent ) { + if ( parent ) + { item = new QTreeWidgetItem( parent, lastItem ); - } else { + } + else + { item = new QTreeWidgetItem( mModulesListView, lastItem ); } - if ( e.tagName() == "section" ) { + if ( e.tagName() == "section" ) + { QString label = e.attribute("label"); QgsDebugMsg( QString("label = %1").arg(label) ); item->setText( 0, label ); @@ -360,7 +409,9 @@ void QgsGrassTools::addModules ( QTreeWidgetItem *parent, QDomElement &element addModules ( item, e ); lastItem = item; - } else if ( e.tagName() == "grass" ) { // GRASS module + } + else if ( e.tagName() == "grass" ) + { // GRASS module QString name = e.attribute("name"); QgsDebugMsg( QString("name = %1").arg(name) ); @@ -372,6 +423,37 @@ void QgsGrassTools::addModules ( QTreeWidgetItem *parent, QDomElement &element item->setIcon( 0, QIcon(pixmap) ); item->setText( 1, name ); lastItem = item; + + + // + // Experimental work by Tim - add this item to our list model + // + QStandardItem * mypDetailItem = new QStandardItem( name ); + mypDetailItem->setData(name,Qt::UserRole + 1); //for calling runModule later + QString mySearchText = name + " - " + label; + mypDetailItem->setData(mySearchText ,Qt::UserRole + 2); //for filtering later + mypDetailItem->setData(pixmap,Qt::DecorationRole); + mypDetailItem->setCheckable(false); + mypDetailItem->setEditable(false); + + + // Render items using widget based detail items (experimental) + // Calling setData in the delegate with a variantised QgsDetailedItemData + // will cause the widget based mode to be enabled + //QgsDetailedItemData myData; + //myData.setTitle(name); + //myData.setDetail(label); + //myData.setIcon(pixmap); + //myData.setCheckable(false); + //QVariant myVariant = qVariantFromValue(myData); + //mypDetailItem->setData(myVariant,Qt::UserRole); + + //alternate invocation method using simple drawing code + mypDetailItem->setData(label,Qt::UserRole); + mModelTools->appendRow(mypDetailItem); + // + // End of experimental work by Tim + // } } n = n.nextSibling(); @@ -454,3 +536,35 @@ void QgsGrassTools::closeTools() mTabWidget->removeTab(i); } } + + + +// +// Helper function for Tim's experimental model list +// + +void QgsGrassTools::filterChanged(QString theText) +{ + QgsDebugMsg("PluginManager filter changed to :" + theText); + QRegExp::PatternSyntax mySyntax = QRegExp::PatternSyntax(QRegExp::RegExp); + Qt::CaseSensitivity myCaseSensitivity = Qt::CaseInsensitive; + QRegExp myRegExp(theText, myCaseSensitivity, mySyntax); + mModelProxy->setFilterRegExp(myRegExp); +} + +void QgsGrassTools::listItemClicked(const QModelIndex &theIndex ) +{ + if (theIndex.column() == 0) + { + // + // If the model has been filtered, the index row in the proxy wont match + // the index row in the underlying model so we need to jump through this + // little hoop to get the correct item + // + QStandardItem * mypItem = + mModelTools->findItems(theIndex.data(Qt::DisplayRole).toString()).first(); + QString myModuleName = mypItem->data(Qt::UserRole +1).toString(); + runModule(myModuleName); + } +} + diff --git a/src/plugins/grass/qgsgrasstools.h b/src/plugins/grass/qgsgrasstools.h index 3a0e039fb62..e99a143e646 100644 --- a/src/plugins/grass/qgsgrasstools.h +++ b/src/plugins/grass/qgsgrasstools.h @@ -34,6 +34,14 @@ class QgsMapCanvas; #include #include +// +// For experimental filterable list model by Tim +// +#include +#include +#include +#include + class QgsGrassToolsTabWidget: public QTabWidget { Q_OBJECT; @@ -99,6 +107,12 @@ public slots: //! Close open tabs with tools void closeTools(); + //! Update the regex used to filter the modules list + void filterChanged(QString theText); + //! Run a module when its entry is clicked in the list view + void listItemClicked(const QModelIndex &theIndex ); + //! Run a module given its module name e.g. r.in.gdal + void runModule(QString name); signals: void regionChanged(); @@ -114,6 +128,16 @@ private: QgsGrassToolsTabWidget *mTabWidget; QTreeWidget *mModulesListView; + + + // + // For experimental model & filtered model by Tim + // + QListView * mListView; + QStandardItemModel * mModelTools; + QSortFilterProxyModel * mModelProxy; + QLineEdit * mFilterInput; + }; #endif // QGSGRASSTOOLS_H diff --git a/src/plugins/qgisplugin.h b/src/plugins/qgisplugin.h index f18fad8fdae..e35bbf993f6 100644 --- a/src/plugins/qgisplugin.h +++ b/src/plugins/qgisplugin.h @@ -23,7 +23,7 @@ *

  • description * * - * All QGis plugins must inherit from the abstract base class QgisPlugin. A + * All QGis plugins must inherit from the abstract base class QgisPlugin. * This list will grow as the API is expanded. * * In addition, a plugin must implement the classFactory and unload diff --git a/src/plugins/wfs/CMakeLists.txt b/src/plugins/wfs/CMakeLists.txt index 1167d45417d..1b8904629bc 100644 --- a/src/plugins/wfs/CMakeLists.txt +++ b/src/plugins/wfs/CMakeLists.txt @@ -16,7 +16,7 @@ SET (WFS_MOC_HDRS ../../app/qgsnewhttpconnection.h ) -#SET (WFS_RCCS northarrow_plugin.qrc) +SET (WFS_RCCS wfsplugin.qrc) ######################################################## # Build @@ -25,9 +25,9 @@ QT4_WRAP_UI (WFS_UIS_H ${WFS_UIS}) QT4_WRAP_CPP (WFS_MOC_SRCS ${WFS_MOC_HDRS}) -#QT4_ADD_RESOURCES(WFS_RCC_SRCS ${WFS_RCCS}) +QT4_ADD_RESOURCES(WFS_RCC_SRCS ${WFS_RCCS}) -ADD_LIBRARY (wfsplugin MODULE ${WFS_SRCS} ${WFS_MOC_SRCS} ${WFS_UIS_H}) +ADD_LIBRARY (wfsplugin MODULE ${WFS_SRCS} ${WFS_MOC_SRCS} ${WFS_UIS_H} ${WFS_RCC_SRCS}) INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_BINARY_DIR} diff --git a/src/plugins/wfs/mIconAddWfsLayer.png b/src/plugins/wfs/mIconAddWfsLayer.png new file mode 100644 index 00000000000..d07edda1313 Binary files /dev/null and b/src/plugins/wfs/mIconAddWfsLayer.png differ diff --git a/src/plugins/wfs/mIconAddWfsLayer.xpm b/src/plugins/wfs/mIconAddWfsLayer.xpm deleted file mode 100644 index 5960382c281..00000000000 --- a/src/plugins/wfs/mIconAddWfsLayer.xpm +++ /dev/null @@ -1,299 +0,0 @@ -/* XPM */ -static const char *mIconAddWfsLayer[]={ -"22 22 274 2", -"Qt c None", -".Q c None", -"#L c #000000", -"#K c #000000", -"#r c #000001", -"cf c #010102", -".i c #000001", -".# c #000002", -"cc c #030305", -"cd c #030305", -"ce c #030306", -"bp c #000000", -".P c #000107", -".u c #01040c", -"b6 c #000101", -"bF c #000001", -".G c #000410", -"cb c #0b0b0e", -"aT c #000002", -".7 c #00030a", -".j c #010613", -".F c #010611", -".Z c #030917", -".v c #020817", -".h c #050c1d", -".a c #050e23", -"b5 c #0a0c13", -"ak c #151c30", -"aB c #010715", -"ca c #242428", -"#e c #071025", -"bT c #0a0e19", -".8 c #101b3d", -"b. c #020919", -"ck c #06121f", -".Y c #101b3d", -"b4 c #1b1f2f", -"aj c #05112e", -"#4 c #1e2b4f", -".g c #253358", -".t c #313d5c", -"#q c #131e40", -".R c #162652", -"bU c #121b26", -"bV c #1a232d", -".b c #23345d", -"#f c #182855", -".k c #2e3d63", -"bE c #0b1531", -"bo c #05112f", -"#3 c #07173f", -"#J c #132149", -"aC c #61676e", -"#M c #2b3a67", -"#s c #2c3c6c", -".O c #394872", -".E c #4f5d81", -"bS c #29365a", -".H c #3a4c7f", -".f c #4c5e89", -"aS c #1c2d5c", -".w c #4c5c88", -".c c #4b5d89", -"cg c #031f51", -".6 c #384a81", -"c# c #8e8e92", -".e c #63739c", -".d c #63739c", -".0 c #384d8c", -"cl c #051d40", -"aD c #737b91", -".l c #8e9aba", -"bR c #526192", -"bD c #2b417e", -"a9 c #0e2970", -"aA c #495b96", -"c. c #d0d0d2", -"al c #6a79b0", -"bn c #16327b", -"#d c #5d6da9", -".X c #8a96c3", -"bQ c #717eb1", -".D c #cdd3e6", -".x c #cad1e6", -".m c #cfd5e6", -"b7 c #032562", -"cm c #052351", -"bP c #0a293e", -"aa c #0a2979", -"bi c #0b3a54", -"bz c #0b3b54", -"as c #0d2c7b", -"aO c #0e2c79", -"bZ c #0e96be", -"ax c #0f2a6f", -"ch c #0f5a7d", -"bh c #0f8eb6", -"b8 c #106e93", -"ci c #107ea6", -"#U c #12307d", -"a3 c #133348", -"a2 c #13688c", -"by c #138fb7", -"bg c #1397be", -"b0 c #157296", -"cn c #173156", -"bY c #1799bf", -"bW c #192b47", -"a1 c #197397", -"a6 c #1c3a85", -"#0 c #1d3575", -"af c #1e3779", -"a8 c #1e3b86", -"bX c #1e7699", -"a7 c #213e87", -"bO c #217294", -"a5 c #233f88", -"at c #244087", -"aP c #264187", -"bx c #27a0c3", -"co c #2b3e58", -"a4 c #2b468d", -"ag c #2c4079", -"aQ c #2c4589", -"#2 c #2c4790", -"bL c #2ca2c4", -"ai c #2d478f", -"#x c #2f4989", -"#y c #304b8f", -"bm c #304b91", -"ay c #334579", -"bN c #3685a3", -"aJ c #374552", -"aN c #375194", -"bG c #3b5160", -"#O c #3b659f", -"bM c #3b88a5", -"bl c #3e5697", -"aL c #3f5f7c", -"b1 c #40515d", -"bf c #41abca", -"#1 c #425896", -"aw c #425997", -"b3 c #42617b", -"bk c #445b9a", -"#I c #455c9f", -"bI c #4588a5", -"#H c #465993", -"aM c #485e9c", -"bj c #495f9d", -"a0 c #4a8fab", -"bC c #4b62a0", -"#h c #4b639d", -"aR c #4c62a2", -"#z c #4c639c", -"#g c #4c649c", -"bK c #4dafcc", -"aI c #4e8ea8", -"#6 c #4f6e9c", -"aK c #506d80", -"ab c #51669d", -"#w c #526393", -"bw c #56b4d0", -"bH c #578da6", -"ah c #5a6ca7", -"am c #5a77a4", -"b2 c #5c7c90", -"bJ c #5e9ab2", -"bv c #5eb7d2", -"#A c #5f72a2", -"bB c #5f72aa", -"aq c #629ab2", -"#G c #6574a5", -"#Z c #6677a9", -"#p c #6878b4", -"ar c #687e8c", -"bA c #6a7baf", -"be c #6cbdd4", -"cj c #6e757f", -"#S c #707d88", -"bd c #73bed4", -"#V c #7485af", -"a# c #748997", -"bu c #76c0d6", -"b9 c #777d84", -"#o c #7783b4", -"#T c #7992a0", -"aZ c #79c2d6", -"#5 c #7d89c0", -"cp c #7e889a", -"#N c #828dc3", -"#t c #828ec4", -"aE c #8291a9", -"aY c #82c5d7", -"bq c #83949c", -"aH c #84c6d8", -"a. c #86a6b7", -"bs c #87c8da", -".S c #8894c3", -"#Q c #8b9ca5", -"az c #8c96c7", -"bt c #8eccdd", -"aU c #8f98a1", -"bc c #8fcadb", -"ae c #919ec7", -"#P c #92a0a9", -"#v c #949dc7", -"#u c #949dcc", -"#R c #95a1a8", -"#n c #99a2c5", -"#c c #99a2ce", -"b# c #9ca6ae", -"ap c #9ed0e0", -".T c #9fabc9", -".5 c #a2aad3", -"aG c #a2d3e1", -"aX c #a7c9d5", -"#7 c #a8bfc9", -"av c #aab3d4", -"br c #aad3e1", -"au c #acb4d4", -"#F c #afb6d7", -"an c #b0cad4", -"bb c #b1d8e4", -"aF c #b2ced8", -"#B c #b5bdd4", -"#8 c #b5d3db", -"#m c #b7bdd8", -"#9 c #b8d5e0", -"ao c #badde6", -".K c #bbc2d4", -"#b c #bec4e0", -".J c #bfc4d4", -"aW c #c1d5de", -".I c #c2cae2", -"#Y c #c3c9e2", -"#a c #c4cae1", -".N c #c4cce3", -"aV c #c4d4db", -".4 c #c8cde4", -".1 c #cacfe0", -"#E c #cbd0e6", -"ad c #ccd0e6", -".3 c #cfd3e7", -"#l c #cfd3e8", -".L c #cfd4e2", -"ba c #cfe4ec", -"## c #d1d5e8", -".W c #d2d6e9", -".U c #d3d7e7", -".2 c #d3d7e9", -"#X c #d4d8ea", -".V c #d5d9ea", -"ac c #d7daeb", -"#D c #d9dcec", -"#k c #dadded", -"#. c #dbdeed", -".M c #e0e3f0", -".9 c #e1e4f0", -".A c #e3e6f0", -"#j c #e4e7f2", -"#W c #e5e7f2", -".B c #e6e8f1", -".n c #e7ebf3", -"#i c #e9ebf3", -"#C c #e9ebf5", -".z c #eaecf4", -".q c #ebeef5", -".C c #edeef6", -".y c #eeeff7", -".o c #eff1f7", -".p c #f1f3f8", -".s c #ff0000", -".r c #ffc0c0", -"QtQtQtQtQtQt.#.a.b.c.d.e.f.g.h.iQtQtQtQtQtQt", -"QtQtQtQtQt.j.k.l.m.n.o.p.q.r.s.t.uQtQtQtQtQt", -"QtQtQtQt.v.w.x.y.z.A.B.C.r.s.s.D.E.FQtQtQtQt", -"QtQtQt.G.H.I.r.r.J.K.L.r.s.s.r.M.N.O.PQtQtQt", -"QtQt.Q.R.S.r.s.s.r.T.r.s.s.r.U.V.W.X.YQtQtQt", -"QtQt.Z.0.r.s.s.s.s.r.s.s.r.1.2.3.4.5.6.7QtQt", -"QtQt.8.r.s.s.r.r.s.s.s.r.9#.###a#b#c#d#eQtQt", -"QtQt#f.s.s.r#g#h.r.r.r#i#j#k#l#m#n#o#p#qQtQt", -"Qt#r#s#t#u#v#w#x#y#z#A#B#C#D#E#F#G#H#I#J#KQt", -"Qt#L#M#N#O#P#Q#R#S#T#U#V#W#X#Y#Z#0#1#2#3#KQt", -"QtQt#4#5#6#7#8#9a.a#aaabacadaeafagahaiajQtQt", -"QtQtakalamanaoapaqarasatauavawaxayazaAaBQtQt", -"QtQtaCaDaEaFaGaHaIaJaKaLaMaNaOaPaQaRaSaTQtQt", -"QtQtaUaVaWaXaYaZa0a1a2a3a4a5a6a7a8a9b.QtQtQt", -"QtQtb#babbbcbdbebfbgbhbibjbkblbmbnbobpQtQtQt", -"QtQtbqbrbsbtbubvbwbxbybzbAbBbCbDbEbFQtQtQtQt", -"QtQtbGbHbIbJbKbLbMbNbObPbQbRbSbTbpQtQtQtQtQt", -"QtQtbUbVbWbXbYbZb0b1b2b3b4b5b6#LQtQtQtQtQtQt", -"QtQtQtQtb7b8bZbZb8b9c.c#cacbcccdcecfQtQtQtQt", -"QtQtQtQtcgchcicichcjQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtckclcmcncocpQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt"}; diff --git a/src/plugins/wfs/qgswfsplugin.cpp b/src/plugins/wfs/qgswfsplugin.cpp index af890b673a2..6b0717e83e2 100644 --- a/src/plugins/wfs/qgswfsplugin.cpp +++ b/src/plugins/wfs/qgswfsplugin.cpp @@ -22,7 +22,8 @@ #include "qgsvectorlayer.h" #include "qgswfsplugin.h" -#include "mIconAddWfsLayer.xpm" +#include + static const QString name_ = QObject::tr("WFS plugin"); @@ -44,12 +45,12 @@ QgsWFSPlugin::~QgsWFSPlugin() void QgsWFSPlugin::initGui() { if(mIface) - { - mWfsDialogAction = new QAction(QIcon(mIconAddWfsLayer), tr("&Add WFS layer"), 0); - QObject::connect(mWfsDialogAction, SIGNAL(triggered()), this, SLOT(showSourceDialog())); - mIface->addToolBarIcon(mWfsDialogAction); - mIface->addPluginMenu(tr("&Add WFS layer"), mWfsDialogAction); - } + { + mWfsDialogAction = new QAction(QIcon(":/mIconAddWfsLayer.png"), tr("&Add WFS layer"), 0); + QObject::connect(mWfsDialogAction, SIGNAL(triggered()), this, SLOT(showSourceDialog())); + mIface->fileToolBar()->addAction(mWfsDialogAction); + mIface->addPluginMenu(tr("&Add WFS layer"), mWfsDialogAction); + } } void QgsWFSPlugin::unload() diff --git a/src/ui/qgsattributeactiondialogbase.ui b/src/ui/qgsattributeactiondialogbase.ui index d4a78203d30..52127ce8888 100644 --- a/src/ui/qgsattributeactiondialogbase.ui +++ b/src/ui/qgsattributeactiondialogbase.ui @@ -19,6 +19,18 @@ Attribute Actions + + 0 + + + 0 + + + 0 + + + 0 + @@ -38,7 +50,7 @@ - + Enter the action name here @@ -48,22 +60,6 @@ - - - - Qt::Horizontal - - - QSizePolicy::Maximum - - - - 40 - 20 - - - - @@ -103,22 +99,6 @@ - - - - Qt::Horizontal - - - QSizePolicy::Maximum - - - - 40 - 20 - - - - @@ -126,7 +106,7 @@ - + Inserts the selected field into the action, prepended with a % @@ -136,38 +116,6 @@ - - - - Qt::Horizontal - - - QSizePolicy::Maximum - - - - 40 - 20 - - - - - - - - Qt::Horizontal - - - QSizePolicy::Maximum - - - - 40 - 20 - - - - @@ -181,22 +129,6 @@ - - - - Qt::Horizontal - - - QSizePolicy::Maximum - - - - 40 - 20 - - - - diff --git a/src/ui/qgsdelattrdialogbase.ui b/src/ui/qgsdelattrdialogbase.ui index e12d3e185da..c57b3fbcaee 100644 --- a/src/ui/qgsdelattrdialogbase.ui +++ b/src/ui/qgsdelattrdialogbase.ui @@ -13,68 +13,6 @@ Delete Attributes - - 10 - - - 6 - - - - - 0 - - - 6 - - - - - Qt::Horizontal - - - QSizePolicy::Expanding - - - - 93 - 20 - - - - - - - - OK - - - - - - - Cancel - - - - - - - Qt::Horizontal - - - QSizePolicy::Expanding - - - - 40 - 20 - - - - - - @@ -82,9 +20,49 @@ + + + + QDialogButtonBox::Cancel|QDialogButtonBox::NoButton|QDialogButtonBox::Ok + + + - + + + buttonBox + accepted() + QgsDelAttrDialogBase + accept() + + + 314 + 209 + + + 356 + 188 + + + + + buttonBox + rejected() + QgsDelAttrDialogBase + reject() + + + 234 + 210 + + + 197 + 189 + + + + diff --git a/src/ui/qgslabeldialogbase.ui b/src/ui/qgslabeldialogbase.ui index 1905ed41d71..23ff1ccbc9b 100644 --- a/src/ui/qgslabeldialogbase.ui +++ b/src/ui/qgslabeldialogbase.ui @@ -5,14 +5,12 @@ 0 0 - 569 - 500 + 516 + 447 - - 7 - 7 + 0 0 @@ -21,248 +19,234 @@ Form1 - - 9 + + 0 - - 6 + + 0 - - + + 0 + + + 0 + + + + + + + Field containing label + + + + + + + + 1 + 0 + + + + + 0 + 20 + + + + + + + + Default label + + + + + + + + 2 + 0 + + + + + 0 + 20 + + + + + + + + - - 7 - 0 + 0 0 - - Preview: - - - - 11 + + + Font - - 6 + + + + Buffer - - - - QGIS Rocks! - - - - + + + + Position + + + + + Data defined style + + + + + Data defined alignment + + + + + Data defined buffer + + + + + Data defined position + + - - + + - - 7 - 7 + 0 0 - 0 + 1 - - - Font Style - + - - 11 - - - 6 - - - - - Qt::Vertical - - - - 20 - 40 - - - + + + + + + + 2 + 0 + + + + Font + + + + + + + false + + + Font transparency + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + false + + + + 0 + 0 + + + + + 50 + 0 + + + + % + + + 100 + + + 0 + + + + + + + + 2 + 0 + + + + Color + + + + + + + Angle (deg) + + + + + + + ° + + + 360 + + + 0 + + + + - - - - Font size units - - - - 11 - - - 6 - - - - - Map units - - - - - - - Points - - - - - - - - - - false - - - Transparency: - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - false - - - - 0 - 0 - 0 - 0 - - - - - 0 - 0 - - - - 100 - - - Qt::Horizontal - - - 100 - - - - - - - - 0 - 0 - 2 - 0 - - - - Font - - - - - - - - 0 - 0 - 2 - 0 - - - - Colour - - - - - - - false - - - - 0 - 0 - 0 - 0 - - - - - 50 - 0 - - - - % - - - 100 - - - 0 - - - - - - - - Font Alignment - - - - 11 - - - 6 - - - - - Qt::Vertical - - - - 20 - 40 - - - - - + Placement - + 11 - - 6 + + 11 + + + 11 + + + 11 @@ -333,134 +317,86 @@ - - - - ° - - - 360 - - - 0 - - - - - - - - 0 - 0 - 0 - 0 - - - - 360 - - - Qt::Horizontal - - - 45 - - - - - - - Angle (deg): - - - - - - - - Buffer - - - - 11 - - - 6 - - - + + - Buffer size units + Font size units - - 11 - - - 6 - - - + + - Size is in map units + Points - - + + - Size is in points + Map units - + Qt::Vertical - - QSizePolicy::Expanding - - 50 - 20 + 20 + 40 - - - - Size: - - - - - - - + + + + + - Buffer Labels? + Buffer labels? true - + + + + Buffer size + + + + + + + + + + false + + + Transparency + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + false - - 0 - 0 + 0 0 @@ -482,70 +418,37 @@ - - - - false - - - Transparency: - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - false - - - - 0 - 0 - 0 - 0 - - - - - 0 - 0 - - - - 100 - - - Qt::Horizontal - - - 100 - - - - + - Colour + Color - - - - - Position - - - - 11 - - - 6 - - + + + + Buffer size units + + + + + + Size is in points + + + + + + + Size is in map units + + + + + + + Qt::Vertical @@ -558,33 +461,15 @@ - - - - Offset units + + + + + + + + X Offset (pts) - - - 11 - - - 6 - - - - - Map units - - - - - - - Points - - - - @@ -594,6 +479,13 @@ + + + + Y Offset (pts) + + + @@ -601,220 +493,63 @@ - - - - X Offset (pts): + + + + Offset units + + + + + Points + + + + + + + Map units + + + + - - - - Y Offset (pts): + + + + Qt::Vertical - + + + 20 + 181 + + + - - - Data Defined Style - + - - 11 - - - 6 - - - - - - 0 - 0 - 0 - 0 - - - - &Italic: - - - cboItalicField - - - - - - - - 0 - 0 - 0 - 0 - - - - &Size: - - - cboFontSizeField - - - - - - - - 0 - 0 - 0 - 0 - - - - &Bold: - - - cboBoldField - - - - - - - - 0 - 20 - - - - - - - - - 0 - 20 - - - - - - - - - 0 - 0 - 0 - 0 - - - - &Underline: - - - cboUnderlineField - - - - - - - - 0 - 20 - - - - - - - - - 0 - 20 - - - - - - - - - 0 - 20 - - - - - - - - - 0 - 0 - 0 - 0 - - - - Size Units: - - - cboFontSizeTypeField - - - - - - - - 0 - 0 - 0 - 0 - - - - Transparency: - - - cboFontTransparencyField - - - - - - - - 0 - 20 - - - - - + - - 0 - 0 + 0 0 - &Font family: + &Font family cboFontField - + @@ -824,145 +559,209 @@ - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - Data Defined Alignment - - - - 11 - - - 6 - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - + - - 0 - 0 + 0 0 - Angle (deg): + &Bold + + + cboBoldField + + + + + + + + 0 + 20 + + + + + + + + + 0 + 0 + + + + &Italic + + + cboItalicField + + + + + + + + 0 + 20 + + + + + + + + + 0 + 0 + + + + &Underline + + + cboUnderlineField + + + + + + + + 0 + 20 + + + + + + + + + 0 + 0 + + + + &Size + + + cboFontSizeField + + + + + + + + 0 + 20 + + + + + + + + + 0 + 0 + + + + Size units + + + cboFontSizeTypeField + + + + + + + + 0 + 20 + + + + + + + + + 0 + 0 + + + + Transparency + + + cboFontTransparencyField + + + + + + + + 0 + 20 + + + + + + + + + + + + + 0 + 0 + + + + Placement + + + + + + + + + + + 0 + 0 + + + + Angle (deg) - - - - - - - - 0 - 0 - 0 - 0 - - - - Placement: - - - - - - Data Defined Buffer - + - - 11 - - - 6 - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - false - - 0 - 0 + 0 0 @@ -991,9 +790,7 @@ - - 0 - 0 + 0 0 @@ -1006,57 +803,39 @@ + + + - - - Data Defined Position - + - - 11 - - - 6 - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - 0 - 0 + 0 0 - X Coordinate: + X Coordinate + + + + + + + + + + + 0 + 0 + + + + Y Coordinate @@ -1066,126 +845,67 @@ - - 0 - 0 + 0 0 - X Offset (pts): + X Offset (pts) + + + + + + + + + + + 0 + 0 + + + + Y Offset (pts) - - - - - - - - 0 - 0 - 0 - 0 - - - - Y Coordinate: - - - - - - - - 0 - 0 - 0 - 0 - - - - Y Offset (pts): - - - - - - - - - - - 16 - 90 - + + + + + 0 + 0 + - Source + Preview: - + 11 - - 6 + + 11 - - + + 11 + + + 11 + + + - Field containing label: - - - - - - - - 0 - 0 - 1 - 0 - - - - - 0 - 20 - - - - - - - - - 0 - 0 - 2 - 0 - - - - - 0 - 20 - - - - - - - - Default label: + QGIS Rocks! @@ -1198,14 +918,11 @@ cboLabelField leDefaultLabel - tabWidget2 btnDefaultFont pbnDefaultFontColor - sliderFontTransparency spinFontTransparency radioFontSizeUnitsPoints radioFontSizeUnitsMap - sliderAngle spinAngle radioAboveLeft radioAbove @@ -1218,7 +935,6 @@ radioBelowRight chkUseBuffer spinBufferSize - sliderBufferTransparency spinBufferTransparency radioBufferUnitsPoints radioBufferUnitsMap @@ -1242,5 +958,118 @@ cboYOffsetField - + + + listWidget + currentRowChanged(int) + stackedWidget + setCurrentIndex(int) + + + 121 + 72 + + + 269 + 54 + + + + + chkUseBuffer + clicked(bool) + spinBufferTransparency + setEnabled(bool) + + + 415 + 64 + + + 467 + 130 + + + + + chkUseBuffer + clicked(bool) + textLabel4_3_2_2 + setEnabled(bool) + + + 390 + 61 + + + 333 + 100 + + + + + chkUseBuffer + clicked(bool) + spinBufferSize + setEnabled(bool) + + + 396 + 67 + + + 451 + 92 + + + + + chkUseBuffer + clicked(bool) + textLabel5_2_2_3 + setEnabled(bool) + + + 431 + 65 + + + 347 + 128 + + + + + chkUseBuffer + clicked(bool) + pbnDefaultBufferColor_2 + setEnabled(bool) + + + 380 + 66 + + + 393 + 159 + + + + + chkUseBuffer + clicked(bool) + groupBox_4 + setEnabled(bool) + + + 294 + 66 + + + 306 + 195 + + + + diff --git a/src/ui/qgsoptionsbase.ui b/src/ui/qgsoptionsbase.ui index d711a72cfd7..b37965c2e28 100644 --- a/src/ui/qgsoptionsbase.ui +++ b/src/ui/qgsoptionsbase.ui @@ -200,6 +200,13 @@ + + + Display classification attribute names in legend + + + + Hide splash screen at startup @@ -217,7 +224,7 @@ 547 - 91 + 51 @@ -268,10 +275,7 @@ - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Lucida Grande'; font-size:13pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Note:</span> Use zero to prevent display updates until all features have been rendered</p></body></html> + <b>Note:</b> Use zero to prevent display updates until all features have been rendered @@ -518,10 +522,7 @@ p, li { white-space: pre-wrap; } - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Lucida Grande'; font-size:13pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Note:</span> Specify the search radius as a percentage of the map width</p></body></html> + <b>Note:</b> Specify the search radius as a percentage of the map width true @@ -896,10 +897,7 @@ p, li { white-space: pre-wrap; } - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Lucida Grande'; font-size:13pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Note:</span> Enabling / changing overide on local requires an application restart</p></body></html> + <b>Note:</b> Enabling / changing overide on local requires an application restart true diff --git a/src/ui/qgssinglesymboldialogbase.ui b/src/ui/qgssinglesymboldialogbase.ui index b082c3b440b..cfaa1b4cea2 100644 --- a/src/ui/qgssinglesymboldialogbase.ui +++ b/src/ui/qgssinglesymboldialogbase.ui @@ -5,14 +5,12 @@ 0 0 - 480 + 486 618 - - 0 - 0 + 0 0 @@ -21,187 +19,52 @@ Single Symbol - - 9 - - - 6 - - - - - - 7 - 0 - 0 - 0 - + + + + 11 - - Style Options + + 11 - - - 9 - - - 6 - - - - - ... - - - - - - - - 142 - 16777215 - - - - - - - - Outline style - - - cboOutlineStyle - - - - - - - Outline color - - - btnOutlineColor - - - - - - - Outline width - - - - - - - Fill color - - - btnFillColor - - - - - - - Fill style - - - cboFillStyle - - - - - - - - 7 - 0 - 0 - 0 - - - - - 172 - 16777215 - - - - - - - - - 7 - 0 - 0 - 0 - - - - - 172 - 0 - - - - - 136 - 16777215 - - - - - - - - - - - - 7 - 0 - 0 - 0 - - - - - 100 - 0 - - - - - 172 - 16777215 - - - - - - - - - - - - 172 - 16777215 - - - - - - + + 11 + + + 11 + + + + + + 0 + 22 + + + + Label + + + mLabelEdit + + + + + + + + 0 + 22 + + + + + - - 7 - 0 + 0 0 @@ -210,20 +73,14 @@ Point Symbol - - 9 - - - 6 - - - 1000 - 3 + + 1000 + 1 @@ -313,54 +170,182 @@ - - - - 11 + + + + + 0 + 0 + - - 6 + + Style Options - - - - - 0 - 22 - - - - Label - - - mLabelEdit - - - - - - - - 0 - 22 - - - - - - - - - - Qt::Vertical - - - - 462 - 16 - - - + + + + + Outline style + + + cboOutlineStyle + + + + + + + + 0 + 0 + + + + + 0 + 20 + + + + + 172 + 16777215 + + + + + + + + Outline color + + + btnOutlineColor + + + + + + + + 0 + 0 + + + + + 172 + 20 + + + + + 136 + 16777215 + + + + + + + + + + + Outline width + + + + + + + + 0 + 20 + + + + + 172 + 16777215 + + + + + + + + Fill color + + + btnFillColor + + + + + + + + 0 + 0 + + + + + 100 + 20 + + + + + 172 + 16777215 + + + + + + + + + + + Fill style + + + cboFillStyle + + + + + + + + + + 0 + 20 + + + + + 142 + 16777215 + + + + + + + + ... + + + + + + + diff --git a/src/ui/qgsvectorlayerpropertiesbase.ui b/src/ui/qgsvectorlayerpropertiesbase.ui index b09c49078e7..886e29d58cf 100644 --- a/src/ui/qgsvectorlayerpropertiesbase.ui +++ b/src/ui/qgsvectorlayerpropertiesbase.ui @@ -410,22 +410,10 @@ Actions - - 11 - - - 11 - - - 11 - - - 11 - - + 0 0