[QGIS Commit] r8401 - in trunk/qgis/src: app core/raster

svn_qgis at osgeo.org svn_qgis at osgeo.org
Tue May 6 12:11:35 EDT 2008


Author: ersts
Date: 2008-05-06 12:11:35 -0400 (Tue, 06 May 2008)
New Revision: 8401

Modified:
   trunk/qgis/src/app/qgsrasterlayerproperties.cpp
   trunk/qgis/src/app/qgsrasterlayerproperties.h
   trunk/qgis/src/core/raster/qgsrasterlayer.cpp
   trunk/qgis/src/core/raster/qgsrasterlayer.h
Log:
-Fix problem with missing "Red" band under the gray scale selection pulldown
-This would have been a problem for all non-english systems
-The problem will be fully resolved once ts files are updated
-Closes ticket #923

Modified: trunk/qgis/src/app/qgsrasterlayerproperties.cpp
===================================================================
--- trunk/qgis/src/app/qgsrasterlayerproperties.cpp	2008-05-06 09:32:47 UTC (rev 8400)
+++ trunk/qgis/src/app/qgsrasterlayerproperties.cpp	2008-05-06 16:11:35 UTC (rev 8401)
@@ -49,6 +49,8 @@
 const char * const ident = 
 "$Id$";
 
+// Constant that signals property not used.
+const QString QgsRasterLayerProperties::QSTRING_NOT_SET = "Not Set";
 
 QgsRasterLayerProperties::QgsRasterLayerProperties(QgsMapLayer *lyr, QWidget *parent, Qt::WFlags fl)
   : QDialog(parent, fl), 
@@ -146,30 +148,30 @@
   //
   // Set up the combo boxes that contain band lists using the qstring list generated above
   //
-
+  
   if (mRasterLayer->getRasterLayerType()
       == QgsRasterLayer::PALETTE) //paletted layers have hard coded color entries
   {
-    cboRed->addItem("Red");
-    cboGreen->addItem("Red");
-    cboBlue->addItem("Red");
+    cboRed->addItem(tr("Red"));
+    cboGreen->addItem(tr("Red"));
+    cboBlue->addItem(tr("Red"));
 
-    cboRed->addItem("Green");
-    cboGreen->addItem("Green");
-    cboBlue->addItem("Green");
+    cboRed->addItem(tr("Green"));
+    cboGreen->addItem(tr("Green"));
+    cboBlue->addItem(tr("Green"));
 
-    cboRed->addItem("Blue");
-    cboGreen->addItem("Blue");
-    cboBlue->addItem("Blue");
+    cboRed->addItem(tr("Blue"));
+    cboGreen->addItem(tr("Blue"));
+    cboBlue->addItem(tr("Blue"));
 
-    cboRed->addItem(tr(QgsRasterLayer::QSTRING_NOT_SET));
-    cboGreen->addItem(tr(QgsRasterLayer::QSTRING_NOT_SET));
-    cboBlue->addItem(tr(QgsRasterLayer::QSTRING_NOT_SET));
+    cboRed->addItem(tr(QSTRING_NOT_SET));
+    cboGreen->addItem(tr(QSTRING_NOT_SET));
+    cboBlue->addItem(tr(QSTRING_NOT_SET));
 
-    cboGray->addItem("Red");
-    cboGray->addItem("Green");
-    cboGray->addItem("Blue");
-    cboGray->addItem(tr(QgsRasterLayer::QSTRING_NOT_SET));
+    cboGray->addItem(tr("Red"));
+    cboGray->addItem(tr("Green"));
+    cboGray->addItem(tr("Blue"));
+    cboGray->addItem(tr(QSTRING_NOT_SET));
 
     lstHistogramLabels->insertItem(tr("Palette"));
   }
@@ -268,16 +270,15 @@
       cboGreen->addItem(myQString);
       cboBlue->addItem(myQString);
     }
-//TODO: Need to handle situations where a band is set to Not Set, currently if you set a band to this it will segfault.
-    cboRed->addItem(tr(QgsRasterLayer::QSTRING_NOT_SET));
-    cboGreen->addItem(tr(QgsRasterLayer::QSTRING_NOT_SET));
-    cboBlue->addItem(tr(QgsRasterLayer::QSTRING_NOT_SET));
-    if (cboGray->count() != 1)
-      cboGray->addItem(tr(QgsRasterLayer::QSTRING_NOT_SET));
+
+    cboRed->addItem(tr(QSTRING_NOT_SET));
+    cboGreen->addItem(tr(QSTRING_NOT_SET));
+    cboBlue->addItem(tr(QSTRING_NOT_SET));
+    cboGray->addItem(tr(QSTRING_NOT_SET));
   }
 
-  cboxTransparencyBand->addItem(tr(QgsRasterLayer::QSTRING_NOT_SET));
-  cboxTransparencyLayer->addItem(tr(QgsRasterLayer::QSTRING_NOT_SET));
+  cboxTransparencyBand->addItem(tr(QSTRING_NOT_SET));
+  cboxTransparencyLayer->addItem(tr(QSTRING_NOT_SET));
   QMap<QString, QgsMapLayer *> myLayers = QgsMapLayerRegistry::instance()->mapLayers();
   QMap<QString, QgsMapLayer *>::iterator it;
   for(it = myLayers.begin(); it != myLayers.end(); it++)
@@ -641,17 +642,17 @@
        QgsRasterLayer::PALETTED_SINGLE_BAND_PSEUDO_COLOR != mRasterLayer->getDrawingStyle() &&
        QgsRasterLayer::PALETTED_MULTI_BAND_COLOR != mRasterLayer->getDrawingStyle())
     {
-      if(mRasterLayer->getRedBandName() != tr(QgsRasterLayer::QSTRING_NOT_SET))
+      if(mRasterLayer->getRedBandName() != tr(QSTRING_NOT_SET))
       {
         leRedMin->setText(QString::number(mRasterLayer->getMinimumValue(mRasterLayer->getRedBandName())));
         leRedMax->setText(QString::number(mRasterLayer->getMaximumValue(mRasterLayer->getRedBandName())));
       }
-      if(mRasterLayer->getGreenBandName() != tr(QgsRasterLayer::QSTRING_NOT_SET))
+      if(mRasterLayer->getGreenBandName() != tr(QSTRING_NOT_SET))
       {
         leGreenMin->setText(QString::number(mRasterLayer->getMinimumValue(mRasterLayer->getGreenBandName())));
         leGreenMax->setText(QString::number(mRasterLayer->getMaximumValue(mRasterLayer->getGreenBandName())));
       }
-      if(mRasterLayer->getBlueBandName() != tr(QgsRasterLayer::QSTRING_NOT_SET))
+      if(mRasterLayer->getBlueBandName() != tr(QSTRING_NOT_SET))
       {
         leBlueMin->setText(QString::number(mRasterLayer->getMinimumValue(mRasterLayer->getBlueBandName())));
         leBlueMax->setText(QString::number(mRasterLayer->getMaximumValue(mRasterLayer->getBlueBandName())));
@@ -678,7 +679,7 @@
        QgsRasterLayer::PALETTED_SINGLE_BAND_PSEUDO_COLOR != mRasterLayer->getDrawingStyle() &&
        QgsRasterLayer::PALETTED_MULTI_BAND_COLOR != mRasterLayer->getDrawingStyle())
     {
-      if(mRasterLayer->getGrayBandName() != tr(QgsRasterLayer::QSTRING_NOT_SET))
+      if(mRasterLayer->getGrayBandName() != tr(QSTRING_NOT_SET))
       {
         leGrayMin->setText(QString::number(mRasterLayer->getMinimumValue(mRasterLayer->getGrayBandName())));
         leGrayMax->setText(QString::number(mRasterLayer->getMaximumValue(mRasterLayer->getGrayBandName())));
@@ -754,7 +755,7 @@
   }
   else
   {
-    cboxTransparencyLayer->setCurrentIndex(cboxTransparencyLayer->findText(tr(QgsRasterLayer::QSTRING_NOT_SET)));
+    cboxTransparencyLayer->setCurrentIndex(cboxTransparencyLayer->findText(tr(QSTRING_NOT_SET)));
   }
 
   myIndex = cboxTransparencyBand->findText(mRasterLayer->getTransparentBandName());
@@ -764,7 +765,7 @@
   }
   else
   {
-    cboxTransparencyBand->setCurrentIndex(cboxTransparencyBand->findText(tr(QgsRasterLayer::QSTRING_NOT_SET)));
+    cboxTransparencyBand->setCurrentIndex(cboxTransparencyBand->findText(tr(QSTRING_NOT_SET)));
   }
   //add current NoDataValue to NoDataValue line edit 
   if(mRasterLayer->isNoDataValueValid())
@@ -1133,17 +1134,17 @@
     //Set min max based on user defined values if all are set and stdDev is 0.0
     if(rbtnThreeBandMinMax->isEnabled() && rbtnThreeBandMinMax->isChecked() && validUserDefinedMinMax())
     {
-      if(mRasterLayer->getRedBandName() != tr(QgsRasterLayer::QSTRING_NOT_SET))
+      if(mRasterLayer->getRedBandName() != tr(QSTRING_NOT_SET))
       {
         mRasterLayer->setMinimumValue(cboRed->currentText(), leRedMin->text().toDouble(), false);
         mRasterLayer->setMaximumValue(cboRed->currentText(), leRedMax->text().toDouble());
       }
-      if(mRasterLayer->getGreenBandName() != tr(QgsRasterLayer::QSTRING_NOT_SET))
+      if(mRasterLayer->getGreenBandName() != tr(QSTRING_NOT_SET))
       {
         mRasterLayer->setMinimumValue(cboGreen->currentText(), leGreenMin->text().toDouble(), false);
         mRasterLayer->setMaximumValue(cboGreen->currentText(), leGreenMax->text().toDouble());
       }
-      if(mRasterLayer->getBlueBandName() != tr(QgsRasterLayer::QSTRING_NOT_SET))
+      if(mRasterLayer->getBlueBandName() != tr(QSTRING_NOT_SET))
       {
         mRasterLayer->setMinimumValue(cboBlue->currentText(), leBlueMin->text().toDouble(), false);
         mRasterLayer->setMaximumValue(cboBlue->currentText(), leBlueMax->text().toDouble());
@@ -1167,7 +1168,7 @@
     //Set min max based on user defined values if all are set and stdDev is 0.0
     if(rbtnSingleBandMinMax->isEnabled() && rbtnSingleBandMinMax->isChecked() && validUserDefinedMinMax())
     {
-      if(mRasterLayer->getGrayBandName() != tr(QgsRasterLayer::QSTRING_NOT_SET))
+      if(mRasterLayer->getGrayBandName() != tr(QSTRING_NOT_SET))
       {
         mRasterLayer->setMinimumValue(cboGray->currentText(), leGrayMin->text().toDouble(), false);
         mRasterLayer->setMaximumValue(cboGray->currentText(), leGrayMax->text().toDouble());
@@ -1485,17 +1486,17 @@
 
       if(rbtnThreeBandMinMax->isEnabled())
       {
-        if(mRasterLayer->getRedBandName() != tr(QgsRasterLayer::QSTRING_NOT_SET))
+        if(mRasterLayer->getRedBandName() != tr(QSTRING_NOT_SET))
         {
           leRedMin->setText(QString::number(mRasterLayer->getMinimumValue(mRasterLayer->getRedBandName())));
           leRedMax->setText(QString::number(mRasterLayer->getMaximumValue(mRasterLayer->getRedBandName())));
         } 
-        if(mRasterLayer->getGreenBandName() != tr(QgsRasterLayer::QSTRING_NOT_SET))
+        if(mRasterLayer->getGreenBandName() != tr(QSTRING_NOT_SET))
         {
           leGreenMin->setText(QString::number(mRasterLayer->getMinimumValue(mRasterLayer->getGreenBandName())));
           leGreenMax->setText(QString::number(mRasterLayer->getMaximumValue(mRasterLayer->getGreenBandName())));
         }
-        if(mRasterLayer->getBlueBandName() != tr(QgsRasterLayer::QSTRING_NOT_SET))
+        if(mRasterLayer->getBlueBandName() != tr(QSTRING_NOT_SET))
         {
           leBlueMin->setText(QString::number(mRasterLayer->getMinimumValue(mRasterLayer->getBlueBandName())));
           leBlueMax->setText(QString::number(mRasterLayer->getMaximumValue(mRasterLayer->getBlueBandName())));
@@ -1511,7 +1512,7 @@
 
       if(rbtnSingleBandMinMax->isEnabled())
       {
-        if(mRasterLayer->getGrayBandName() != tr(QgsRasterLayer::QSTRING_NOT_SET))
+        if(mRasterLayer->getGrayBandName() != tr(QSTRING_NOT_SET))
         {
           leGrayMin->setText(QString::number(mRasterLayer->getMinimumValue(mRasterLayer->getGrayBandName())));
           leGrayMax->setText(QString::number(mRasterLayer->getMaximumValue(mRasterLayer->getGrayBandName())));
@@ -1623,7 +1624,7 @@
 
 void QgsRasterLayerProperties::on_cboBlue_currentIndexChanged(const QString& theText)
 {
-  if(mRasterLayerIsGdal && tr(QgsRasterLayer::QSTRING_NOT_SET) != theText)
+  if(mRasterLayerIsGdal && tr(QSTRING_NOT_SET) != theText)
   {
     leBlueMin->setText(QString::number(mRasterLayer->getMinimumValue(theText)));
     leBlueMax->setText(QString::number(mRasterLayer->getMaximumValue(theText)));
@@ -1632,7 +1633,7 @@
 
 void QgsRasterLayerProperties::on_cboGray_currentIndexChanged(const QString& theText)
 {
-  if(mRasterLayerIsGdal && tr(QgsRasterLayer::QSTRING_NOT_SET) != theText)
+  if(mRasterLayerIsGdal && tr(QSTRING_NOT_SET) != theText)
   {
     leGrayMin->setText(QString::number(mRasterLayer->getMinimumValue(theText)));
     leGrayMax->setText(QString::number(mRasterLayer->getMaximumValue(theText)));
@@ -1641,7 +1642,7 @@
 
 void QgsRasterLayerProperties::on_cboGreen_currentIndexChanged(const QString& theText)
 {
-  if(mRasterLayerIsGdal && tr(QgsRasterLayer::QSTRING_NOT_SET) != theText)
+  if(mRasterLayerIsGdal && tr(QSTRING_NOT_SET) != theText)
   {
     leGreenMin->setText(QString::number(mRasterLayer->getMinimumValue(theText)));
     leGreenMax->setText(QString::number(mRasterLayer->getMaximumValue(theText)));
@@ -1650,7 +1651,7 @@
 
 void QgsRasterLayerProperties::on_cboRed_currentIndexChanged(const QString& theText)
 {
-  if(mRasterLayerIsGdal && tr(QgsRasterLayer::QSTRING_NOT_SET) != theText)
+  if(mRasterLayerIsGdal && tr(QSTRING_NOT_SET) != theText)
   {
     leRedMin->setText(QString::number(mRasterLayer->getMinimumValue(theText)));
     leRedMax->setText(QString::number(mRasterLayer->getMaximumValue(theText)));
@@ -1743,10 +1744,10 @@
 
 void QgsRasterLayerProperties::on_cboxTransparencyLayer_currentIndexChanged(const QString& theText)
 {
-  if(theText == tr(QgsRasterLayer::QSTRING_NOT_SET))
+  if(theText == tr(QSTRING_NOT_SET))
   {
     cboxTransparencyBand->clear();
-    cboxTransparencyBand->addItem(tr(QgsRasterLayer::QSTRING_NOT_SET));
+    cboxTransparencyBand->addItem(tr(QSTRING_NOT_SET));
   }
   else
   {
@@ -1759,7 +1760,7 @@
         QgsRasterLayer* myRasterLayer = (QgsRasterLayer*)it.value();
         int myBandCount = myRasterLayer->getBandCount();
         cboxTransparencyBand->clear();
-        cboxTransparencyBand->addItem(tr(QgsRasterLayer::QSTRING_NOT_SET));
+        cboxTransparencyBand->addItem(tr(QSTRING_NOT_SET));
         for(int bandRunner = 1; bandRunner <= myBandCount; bandRunner++)
         {
           cboxTransparencyBand->addItem(myRasterLayer->getRasterBandName(bandRunner));
@@ -2459,7 +2460,7 @@
     // Populate transparency table with single value transparency pixels
     populateTransparencyTable();
     // If no band is selected but there are multiple bands, selcet the first as the default
-    if(cboGray->currentText() == tr(QgsRasterLayer::QSTRING_NOT_SET) && 1 < cboGray->count())
+    if(cboGray->currentText() == tr(QSTRING_NOT_SET) && 1 < cboGray->count())
     {
       cboGray->setCurrentIndex(0);
     }

Modified: trunk/qgis/src/app/qgsrasterlayerproperties.h
===================================================================
--- trunk/qgis/src/app/qgsrasterlayerproperties.h	2008-05-06 09:32:47 UTC (rev 8400)
+++ trunk/qgis/src/app/qgsrasterlayerproperties.h	2008-05-06 16:11:35 UTC (rev 8401)
@@ -120,6 +120,9 @@
 
 
     private:
+        /** \brief  A constant that signals property not used */
+        static const QString QSTRING_NOT_SET;
+        
         /** \brief Pointer to the raster layer that this property dilog changes the behaviour of. */
         QgsRasterLayer * mRasterLayer;
 

Modified: trunk/qgis/src/core/raster/qgsrasterlayer.cpp
===================================================================
--- trunk/qgis/src/core/raster/qgsrasterlayer.cpp	2008-05-06 09:32:47 UTC (rev 8400)
+++ trunk/qgis/src/core/raster/qgsrasterlayer.cpp	2008-05-06 16:11:35 UTC (rev 8401)
@@ -106,7 +106,7 @@
 
 
 // Constant that signals property not used.
-const QString QgsRasterLayer::QSTRING_NOT_SET = QString("Not Set");
+const QString QgsRasterLayer::QSTRING_NOT_SET = "Not Set";
 
 /**
   Builds the list of file filter strings to later be used by
@@ -387,6 +387,7 @@
   mStandardDeviations(0),
   mDataProvider(0)
 {
+
   mUserDefinedRGBMinMaxFlag = false; //defaults needed to bypass stretch
   mUserDefinedGrayMinMaxFlag = false;
 

Modified: trunk/qgis/src/core/raster/qgsrasterlayer.h
===================================================================
--- trunk/qgis/src/core/raster/qgsrasterlayer.h	2008-05-06 09:32:47 UTC (rev 8400)
+++ trunk/qgis/src/core/raster/qgsrasterlayer.h	2008-05-06 16:11:35 UTC (rev 8401)
@@ -180,9 +180,6 @@
 {
     Q_OBJECT
 public:
-    // Static constant defining flag for XML
-    static const QString QSTRING_NOT_SET;
-
     //
     // Static methods:
     //
@@ -1006,6 +1003,9 @@
     //
     // Private member vars
     //
+    /** \brief  Static constant defining flag for XML and a constant that signals property not used */
+    static const QString QSTRING_NOT_SET;
+    
     /** \brief  Raster width. */
     int mRasterXDim;
     /** \brief  Raster Height. */



More information about the QGIS-commit mailing list