[QGIS Commit] r8521 - in trunk/qgis/src: app ui

svn_qgis at osgeo.org svn_qgis at osgeo.org
Mon May 26 10:25:56 EDT 2008


Author: timlinux
Date: 2008-05-26 10:25:56 -0400 (Mon, 26 May 2008)
New Revision: 8521

Modified:
   trunk/qgis/src/app/qgisapp.cpp
   trunk/qgis/src/app/qgsattributetabledisplay.h
   trunk/qgis/src/app/qgsgraduatedsymboldialog.cpp
   trunk/qgis/src/app/qgsgraduatedsymboldialog.h
   trunk/qgis/src/app/qgspluginmanager.h
   trunk/qgis/src/app/qgsrasterlayerproperties.cpp
   trunk/qgis/src/app/qgsrasterlayerproperties.h
   trunk/qgis/src/app/qgsuniquevaluedialog.cpp
   trunk/qgis/src/app/qgsuniquevaluedialog.h
   trunk/qgis/src/ui/qgsattributetablebase.ui
   trunk/qgis/src/ui/qgsdetaileditemwidgetbase.ui
   trunk/qgis/src/ui/qgsrasterlayerpropertiesbase.ui
Log:
Further work on ui cleanups and useability:
 - in unique value and graduated symbol dialogs, show symbol previews in classification lists
 - tidy up for raster props dialog (PeteE I finally capitulated and used a stack widget)
 - use a label instead of a textbrowser in detailed item widget


Modified: trunk/qgis/src/app/qgisapp.cpp
===================================================================
--- trunk/qgis/src/app/qgisapp.cpp	2008-05-26 14:17:44 UTC (rev 8520)
+++ trunk/qgis/src/app/qgisapp.cpp	2008-05-26 14:25:56 UTC (rev 8521)
@@ -1018,7 +1018,7 @@
 void QgisApp::createToolBars()
 {
   QSize myIconSize ( 24,24 );
-  //QSize myIconSize ( 32,32 ); //large icons
+  // QSize myIconSize ( 32,32 ); //large icons
   // Note: we need to set each object name to ensure that
   // qmainwindow::saveState and qmainwindow::restoreState
   // work properly

Modified: trunk/qgis/src/app/qgsattributetabledisplay.h
===================================================================
--- trunk/qgis/src/app/qgsattributetabledisplay.h	2008-05-26 14:17:44 UTC (rev 8520)
+++ trunk/qgis/src/app/qgsattributetabledisplay.h	2008-05-26 14:25:56 UTC (rev 8521)
@@ -53,7 +53,6 @@
     void doSearch(const QString& searchString);
 
     virtual void closeEvent(QCloseEvent* ev);
-    void showHelp();
 
     /** array of feature IDs that match last searched condition */
     QgsFeatureIds mSearchIds;
@@ -71,7 +70,7 @@
     void search();
     void advancedSearch();
     void searchShowResultsChanged(int item);
-    void on_btnHelp_clicked();
+    void showHelp();
 
   public slots:
     void changeFeatureAttribute(int row, int column);

Modified: trunk/qgis/src/app/qgsgraduatedsymboldialog.cpp
===================================================================
--- trunk/qgis/src/app/qgsgraduatedsymboldialog.cpp	2008-05-26 14:17:44 UTC (rev 8520)
+++ trunk/qgis/src/app/qgsgraduatedsymboldialog.cpp	2008-05-26 14:25:56 UTC (rev 8521)
@@ -155,74 +155,74 @@
 
   QgsGraduatedSymbolRenderer* renderer = new QgsGraduatedSymbolRenderer(mVectorLayer->vectorType());
   for (int item=0;item<mClassListWidget->count();++item)
+  {
+    QString classbreak=mClassListWidget->item(item)->text();
+    std::map<QString,QgsSymbol*>::iterator it=mEntries.find(classbreak);
+    if(it==mEntries.end())
     {
-      QString classbreak=mClassListWidget->item(item)->text();
-      std::map<QString,QgsSymbol*>::iterator it=mEntries.find(classbreak);
-      if(it==mEntries.end())
-	{
-	  continue;
-	}
-	  
-      QString lower_bound=it->second->lowerValue();
-      QString upper_bound=it->second->upperValue();
-      QString label=it->second->label();
-      
-      QgsSymbol* sy = new QgsSymbol(mVectorLayer->vectorType(), lower_bound, upper_bound, label);
-      
-      sy->setColor(it->second->pen().color());
-      sy->setLineStyle(it->second->pen().style());
-      sy->setLineWidth(it->second->pen().widthF());
-      
-      if (mVectorLayer->vectorType() == QGis::Point)
-	{
-	  sy->setNamedPointSymbol(it->second->pointSymbolName());
-	  sy->setPointSize(it->second->pointSize());
-	  sy->setScaleClassificationField(it->second->scaleClassificationField());
-	  sy->setRotationClassificationField(it->second->rotationClassificationField());
-	}
-      
-      if (mVectorLayer->vectorType() != QGis::Line)
-	{
-	  sy->setFillColor(it->second->brush().color());
-	  sy->setCustomTexture(it->second->customTexture());//necessary?
-	  sy->setFillStyle(it->second->brush().style());
-	}
-	  
-      //test, if lower_bound is numeric or not (making a subclass of QString would be the proper solution)
-      bool lbcontainsletter = false;
-      for (int j = 0; j < lower_bound.length(); j++)
-	{
-	  if (lower_bound.ref(j).isLetter())
-	    {
-	      lbcontainsletter = true;
-	    }
-	}
-      
-      //test, if upper_bound is numeric or not (making a subclass of QString would be the proper solution)
-      bool ubcontainsletter = false;
-      for (int j = 0; j < upper_bound.length(); j++)
-	{
-	  if (upper_bound.ref(j).isLetter())
-	    {
-	      ubcontainsletter = true;
-	    }
-	}
-      if (lbcontainsletter == false && ubcontainsletter == false && lower_bound.length() > 0 && upper_bound.length() > 0) //only add the item if the value bounds do not contain letters and are not null strings
-	{
-	  renderer->addSymbol(sy);
-	}
-      else
-	{
-	  delete sy;
-	}
+      continue;
     }
+
+    QString lower_bound=it->second->lowerValue();
+    QString upper_bound=it->second->upperValue();
+    QString label=it->second->label();
+
+    QgsSymbol* sy = new QgsSymbol(mVectorLayer->vectorType(), lower_bound, upper_bound, label);
+
+    sy->setColor(it->second->pen().color());
+    sy->setLineStyle(it->second->pen().style());
+    sy->setLineWidth(it->second->pen().widthF());
+
+    if (mVectorLayer->vectorType() == QGis::Point)
+    {
+      sy->setNamedPointSymbol(it->second->pointSymbolName());
+      sy->setPointSize(it->second->pointSize());
+      sy->setScaleClassificationField(it->second->scaleClassificationField());
+      sy->setRotationClassificationField(it->second->rotationClassificationField());
+    }
+
+    if (mVectorLayer->vectorType() != QGis::Line)
+    {
+      sy->setFillColor(it->second->brush().color());
+      sy->setCustomTexture(it->second->customTexture());//necessary?
+      sy->setFillStyle(it->second->brush().style());
+    }
+
+    //test, if lower_bound is numeric or not (making a subclass of QString would be the proper solution)
+    bool lbcontainsletter = false;
+    for (int j = 0; j < lower_bound.length(); j++)
+    {
+      if (lower_bound.ref(j).isLetter())
+      {
+        lbcontainsletter = true;
+      }
+    }
+
+    //test, if upper_bound is numeric or not (making a subclass of QString would be the proper solution)
+    bool ubcontainsletter = false;
+    for (int j = 0; j < upper_bound.length(); j++)
+    {
+      if (upper_bound.ref(j).isLetter())
+      {
+        ubcontainsletter = true;
+      }
+    }
+    if (lbcontainsletter == false && ubcontainsletter == false && lower_bound.length() > 0 && upper_bound.length() > 0) //only add the item if the value bounds do not contain letters and are not null strings
+    {
+      renderer->addSymbol(sy);
+    }
+    else
+    {
+      delete sy;
+    }
+  }
   renderer->updateSymbolAttributes();
-  
+
   std::map<QString,int>::iterator iter=mFieldMap.find(classificationComboBox->currentText());
   if(iter!=mFieldMap.end())
-    {
-      renderer->setClassificationField(iter->second);
-    }
+  {
+    renderer->setClassificationField(iter->second);
+  }
   mVectorLayer->setRenderer(renderer);
 }
 
@@ -339,7 +339,9 @@
       (*symbol_it)->setLowerValue(QString::number(lower,'f',3));
       (*symbol_it)->setUpperValue(QString::number(upper,'f',3));
       listBoxText=QString::number(lower,'f',3)+" - " +QString::number(upper,'f',3);
-      mClassListWidget->addItem(listBoxText);
+      QListWidgetItem * mypItem = new QListWidgetItem(listBoxText);
+      updateEntryIcon(*symbol_it,mypItem);
+      mClassListWidget->addItem(mypItem);
 
       mEntries.insert(std::make_pair(listBoxText,*symbol_it));
       ++symbol_it;
@@ -372,6 +374,7 @@
     {
       sydialog.set((*it).second);
       sydialog.setLabel((*it).second->label());
+      updateEntryIcon((*it).second,item);
     }
   }
   sydialog.blockSignals(false);
@@ -388,6 +391,7 @@
     {
       sydialog.apply((*it).second);
       it->second->setLabel((*it).second->label());
+      updateEntryIcon((*it).second,item);
     }
   }
 }
@@ -419,7 +423,8 @@
       QString newclass=dialog.lowerValue()+"-"+dialog.upperValue();
       mEntries.insert(std::make_pair(newclass,symbol));
       item->setText(newclass);
-    }	
+      updateEntryIcon(symbol,item);
+    }
   }
 }
 
@@ -532,3 +537,24 @@
   }  
   return color; 
 } 
+
+void QgsGraduatedSymbolDialog::updateEntryIcon(QgsSymbol * thepSymbol, 
+    QListWidgetItem * thepItem)
+{
+  QGis::VectorType myType = mVectorLayer->vectorType();
+  switch (myType) 
+  {
+    case QGis::Point:
+      thepItem->setIcon(QIcon(QPixmap::fromImage(thepSymbol->getPointSymbolAsImage())));
+      break;
+    case QGis::Line:
+      thepItem->setIcon(QIcon(QPixmap::fromImage(thepSymbol->getLineSymbolAsImage())));
+      break;
+    case QGis::Polygon:
+      thepItem->setIcon(QIcon(QPixmap::fromImage(thepSymbol->getPolygonSymbolAsImage())));
+      break;
+    default: //unknown
+      //do nothing
+      ;
+  }
+}

Modified: trunk/qgis/src/app/qgsgraduatedsymboldialog.h
===================================================================
--- trunk/qgis/src/app/qgsgraduatedsymboldialog.h	2008-05-26 14:17:44 UTC (rev 8520)
+++ trunk/qgis/src/app/qgsgraduatedsymboldialog.h	2008-05-26 14:25:56 UTC (rev 8521)
@@ -75,6 +75,11 @@
      void deleteCurrentClass();
 
  private:
+    /** Update the list widget item icon with a preview for the symbol.
+     * @param QgsSymbol * - symbol holding the style info.
+     * @param QListWidgetItem * - item to get its icon updated.
+     */
+    void updateEntryIcon(QgsSymbol * thepSymbol,QListWidgetItem * thepItem);
      /**Default constructor is privat to not use is*/
      QgsGraduatedSymbolDialog();
 };

Modified: trunk/qgis/src/app/qgspluginmanager.h
===================================================================
--- trunk/qgis/src/app/qgspluginmanager.h	2008-05-26 14:17:44 UTC (rev 8520)
+++ trunk/qgis/src/app/qgspluginmanager.h	2008-05-26 14:25:56 UTC (rev 8521)
@@ -19,7 +19,6 @@
 #ifndef QGSPLUGINMANAGER_H
 #define QGSPLUGINMANAGER_H
 #include <vector>
-#include <QTableView>
 #include <QStandardItemModel>
 #include <QSortFilterProxyModel>
 #include <QStandardItem>

Modified: trunk/qgis/src/app/qgsrasterlayerproperties.cpp
===================================================================
--- trunk/qgis/src/app/qgsrasterlayerproperties.cpp	2008-05-26 14:17:44 UTC (rev 8520)
+++ trunk/qgis/src/app/qgsrasterlayerproperties.cpp	2008-05-26 14:25:56 UTC (rev 8521)
@@ -2417,6 +2417,7 @@
   if(theState)
   {
     //--- enable and disable appropriate controls
+    stackedWidget->setCurrentIndex(1);
     rbtnThreeBand->setChecked(false); 
     cboxColorMap->setEnabled(true);
 
@@ -2439,9 +2440,6 @@
     }
 
     grpRgbBands->setEnabled(false);
-    grpRgbScaling->setEnabled(false);
-    grpGrayBand->setEnabled(true);
-    grpGrayScaling->setEnabled(true);
 
     if(mRasterLayer->getUserDefinedGrayMinMax())
     {
@@ -2492,14 +2490,12 @@
   if(theState)
   {
     //--- enable and disable appropriate controls
+    stackedWidget->setCurrentIndex(0);
     rbtnSingleBand->setChecked(false);
     cboxColorMap->setEnabled(false);
     tabBar->setTabEnabled(tabBar->indexOf(tabPageColormap), false);
 
     grpRgbBands->setEnabled(true);
-    grpRgbScaling->setEnabled(true);
-    grpGrayBand->setEnabled(false);
-    grpGrayScaling->setEnabled(false);
     
     pbtnLoadMinMax->setEnabled(true);
     labelContrastEnhancement->setEnabled(true);
@@ -2864,3 +2860,161 @@
   myGradient.setColorAt(0.0,QColor(255, 255, 255, 150));
   return myGradient;
 }
+
+
+
+//
+//
+// Next four methods for saving and restoring qml style state
+//
+//
+void QgsRasterLayerProperties::on_pbnLoadDefaultStyle_clicked()
+{
+  bool defaultLoadedFlag = false;
+  QString myMessage = mRasterLayer->loadDefaultStyle( defaultLoadedFlag );
+  //reset if the default style was loaded ok only
+  if ( defaultLoadedFlag )
+  {
+    sync();
+  }
+  QMessageBox::information( this, 
+      tr("Default Style"), 
+      myMessage
+      ); 
+}
+
+void QgsRasterLayerProperties::on_pbnSaveDefaultStyle_clicked()
+{
+  // a flag passed by reference
+  bool defaultSavedFlag = false;
+  // after calling this the above flag will be set true for success
+  // or false if the save operation failed
+  QString myMessage = mRasterLayer->saveDefaultStyle( defaultSavedFlag );
+  QMessageBox::information( this, 
+      tr("Default Style"), 
+      myMessage
+      ); 
+}
+
+
+void QgsRasterLayerProperties::on_pbnLoadStyle_clicked()
+{
+  QSettings myQSettings;  // where we keep last used filter in persistant state
+  QString myLastUsedDir = myQSettings.value ( "style/lastStyleDir", "." ).toString();
+
+  //create a file dialog
+  std::auto_ptr < QFileDialog > myFileDialog
+    (
+     new QFileDialog (
+       this,
+       QFileDialog::tr ( "Load layer properties from style file (.qml)" ),
+       myLastUsedDir,
+       tr ( "QGIS Layer Style File (*.qml)" )
+       )
+    );
+  myFileDialog->setFileMode ( QFileDialog::AnyFile );
+  myFileDialog->setAcceptMode ( QFileDialog::AcceptOpen );
+
+  //prompt the user for a filename
+  QString myFileName;
+  if ( myFileDialog->exec() == QDialog::Accepted )
+  {
+    QStringList myFiles = myFileDialog->selectedFiles();
+    if ( !myFiles.isEmpty() )
+    {
+      myFileName = myFiles[0];
+    }
+  }
+
+  if ( !myFileName.isEmpty() )
+  {
+    if ( myFileDialog->selectedFilter() == tr ( "QGIS Layer Style File (*.qml)" ) )
+    {
+      //ensure the user never ommitted the extension from the filename
+      if ( !myFileName.toUpper().endsWith ( ".QML" ) )
+      {
+        myFileName += ".qml";
+      }
+      bool defaultLoadedFlag = false;
+      QString myMessage = mRasterLayer->loadNamedStyle( myFileName, defaultLoadedFlag );
+      //reset if the default style was loaded ok only
+      if ( defaultLoadedFlag )
+      {
+        sync();
+      }
+      QMessageBox::information( this, 
+          tr("Default Style"), 
+          myMessage
+          ); 
+    }
+    else
+    {
+      QMessageBox::warning ( this, tr ( "QGIS" ), tr ( "Unknown style format: " ) +
+          myFileDialog->selectedFilter() );
+
+    }
+    myQSettings.setValue ( "style/lastStyleDir", myFileDialog->directory().absolutePath() );
+  }
+}
+
+
+void QgsRasterLayerProperties::on_pbnSaveStyleAs_clicked()
+{
+
+  QSettings myQSettings;  // where we keep last used filter in persistant state
+  QString myLastUsedDir = myQSettings.value ( "style/lastStyleDir", "." ).toString();
+
+  //create a file dialog
+  std::auto_ptr < QFileDialog > myFileDialog
+    (
+     new QFileDialog (
+       this,
+       QFileDialog::tr ( "Save layer properties as style file (.qml)" ),
+       myLastUsedDir,
+       tr ( "QGIS Layer Style File (*.qml)" )
+       )
+    );
+  myFileDialog->setFileMode ( QFileDialog::AnyFile );
+  myFileDialog->setAcceptMode ( QFileDialog::AcceptSave );
+
+  //prompt the user for a filename
+  QString myOutputFileName;
+  if ( myFileDialog->exec() == QDialog::Accepted )
+  {
+    QStringList myFiles = myFileDialog->selectedFiles();
+    if ( !myFiles.isEmpty() )
+    {
+      myOutputFileName = myFiles[0];
+    }
+  }
+
+  if ( !myOutputFileName.isEmpty() )
+  {
+    if ( myFileDialog->selectedFilter() == tr ( "QGIS Layer Style File (*.qml)" ) )
+    {
+      //ensure the user never ommitted the extension from the filename
+      if ( !myOutputFileName.toUpper().endsWith ( ".QML" ) )
+      {
+        myOutputFileName += ".qml";
+      }
+      bool defaultLoadedFlag = false;
+      QString myMessage = mRasterLayer->saveNamedStyle( myOutputFileName, defaultLoadedFlag );
+      //reset if the default style was loaded ok only
+      if ( defaultLoadedFlag )
+      {
+        sync();
+      }
+      QMessageBox::information( this, 
+          tr("Default Style"), 
+          myMessage
+          ); 
+    }
+    else
+    {
+      QMessageBox::warning ( this, tr ( "QGIS" ), tr ( "Unknown style format: " ) +
+          myFileDialog->selectedFilter() );
+
+    }
+    myQSettings.setValue ( "style/lastStyleDir", myFileDialog->directory().absolutePath() );
+  }
+}

Modified: trunk/qgis/src/app/qgsrasterlayerproperties.h
===================================================================
--- trunk/qgis/src/app/qgsrasterlayerproperties.h	2008-05-26 14:17:44 UTC (rev 8520)
+++ trunk/qgis/src/app/qgsrasterlayerproperties.h	2008-05-26 14:25:56 UTC (rev 8521)
@@ -113,6 +113,14 @@
       /**This slot save the current contrast enhancement algorithm as the default algorithm */
       void on_pbtnMakeContrastEnhancementAlgorithmDefault_clicked();
 	
+      /** Load the default style when appriate button is pressed. */
+      void on_pbnLoadDefaultStyle_clicked();
+      /** Save the default style when appriate button is pressed. */
+      void on_pbnSaveDefaultStyle_clicked();
+      /** Load a saved  style when appriate button is pressed. */
+      void on_pbnLoadStyle_clicked();
+      /** Save a style when appriate button is pressed. */
+      void on_pbnSaveStyleAs_clicked();
 
     signals:
 

Modified: trunk/qgis/src/app/qgsuniquevaluedialog.cpp
===================================================================
--- trunk/qgis/src/app/qgsuniquevaluedialog.cpp	2008-05-26 14:17:44 UTC (rev 8520)
+++ trunk/qgis/src/app/qgsuniquevaluedialog.cpp	2008-05-26 14:25:56 UTC (rev 8521)
@@ -85,6 +85,7 @@
 
       QListWidgetItem *item = new QListWidgetItem(symbolvalue);
       mClassListWidget->addItem(item);
+      updateEntryIcon(symbol,item);
       item->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEditable|Qt::ItemIsEnabled);
       item->setData( Qt::UserRole, symbol->lowerValue() );
       item->setToolTip(symbol->label());
@@ -253,11 +254,9 @@
     for(int i=0; i<selection.size(); i++)
     {
       QListWidgetItem *item=selection[i];
-      if(!item)
-        continue;
+      if( !item ) continue;
 
-      if( !mValues.contains( item->text() ) )
-        continue;
+      if( !mValues.contains( item->text() ) )continue;
 
       setSymbolColor( mValues[ item->text() ], white);
     }
@@ -325,6 +324,7 @@
     mValues.insert(newValue, sy);
     sy->setLowerValue(newValue);
     item->setData( Qt::UserRole, newValue );
+    updateEntryIcon(sy,item);
   }
   else
     item->setText(oldValue);
@@ -423,5 +423,27 @@
 
     item->setToolTip(sydialog.label());
     item->setData( Qt::UserRole, value);
+    updateEntryIcon(symbol,item);
   }
 }
+
+void QgsUniqueValueDialog::updateEntryIcon(QgsSymbol * thepSymbol, 
+    QListWidgetItem * thepItem)
+{
+  QGis::VectorType myType = mVectorLayer->vectorType();
+  switch (myType) 
+  {
+    case QGis::Point:
+      thepItem->setIcon(QIcon(QPixmap::fromImage(thepSymbol->getPointSymbolAsImage())));
+      break;
+    case QGis::Line:
+      thepItem->setIcon(QIcon(QPixmap::fromImage(thepSymbol->getLineSymbolAsImage())));
+      break;
+    case QGis::Polygon:
+      thepItem->setIcon(QIcon(QPixmap::fromImage(thepSymbol->getPolygonSymbolAsImage())));
+      break;
+    default: //unknown
+      QgsDebugMsg("Vector layer type unknown");
+      //do nothing
+  }
+}

Modified: trunk/qgis/src/app/qgsuniquevaluedialog.h
===================================================================
--- trunk/qgis/src/app/qgsuniquevaluedialog.h	2008-05-26 14:17:44 UTC (rev 8520)
+++ trunk/qgis/src/app/qgsuniquevaluedialog.h	2008-05-26 14:25:56 UTC (rev 8521)
@@ -59,6 +59,11 @@
     void applySymbologyChanges();
 
 private:
+    /** Update the list widget item icon with a preview for the symbol.
+     * @param QgsSymbol * - symbol holding the style info.
+     * @param QListWidgetItem * - item to get its icon updated.
+     */
+    void updateEntryIcon(QgsSymbol * thepSymbol,QListWidgetItem * thepItem);
     QColor randomColor();
     void setSymbolColor(QgsSymbol *symbol, QColor thecolor);
 };

Modified: trunk/qgis/src/ui/qgsattributetablebase.ui
===================================================================
--- trunk/qgis/src/ui/qgsattributetablebase.ui	2008-05-26 14:17:44 UTC (rev 8520)
+++ trunk/qgis/src/ui/qgsattributetablebase.ui	2008-05-26 14:25:56 UTC (rev 8521)
@@ -5,8 +5,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>686</width>
-    <height>547</height>
+    <width>687</width>
+    <height>583</height>
    </rect>
   </property>
   <property name="windowTitle" >
@@ -16,20 +16,14 @@
    <iconset/>
   </property>
   <layout class="QGridLayout" >
-   <property name="margin" >
-    <number>9</number>
+   <property name="horizontalSpacing" >
+    <number>2</number>
    </property>
-   <property name="spacing" >
-    <number>6</number>
+   <property name="verticalSpacing" >
+    <number>2</number>
    </property>
    <item row="0" column="0" >
     <layout class="QHBoxLayout" >
-     <property name="margin" >
-      <number>0</number>
-     </property>
-     <property name="spacing" >
-      <number>6</number>
-     </property>
      <item>
       <widget class="QToolButton" name="mRemoveSelectionButton" >
        <property name="toolTip" >
@@ -116,9 +110,7 @@
      <item>
       <widget class="QToolButton" name="mAddAttributeButton" >
        <property name="sizePolicy" >
-        <sizepolicy>
-         <hsizetype>0</hsizetype>
-         <vsizetype>0</vsizetype>
+        <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
          <horstretch>0</horstretch>
          <verstretch>0</verstretch>
         </sizepolicy>
@@ -191,9 +183,7 @@
    <item row="1" column="0" >
     <widget class="QgsAttributeTable" native="1" name="tblAttributes" >
      <property name="sizePolicy" >
-      <sizepolicy>
-       <hsizetype>7</hsizetype>
-       <vsizetype>7</vsizetype>
+      <sizepolicy vsizetype="Expanding" hsizetype="Expanding" >
        <horstretch>0</horstretch>
        <verstretch>0</verstretch>
       </sizepolicy>
@@ -202,26 +192,10 @@
    </item>
    <item row="2" column="0" >
     <layout class="QHBoxLayout" >
-     <property name="margin" >
-      <number>0</number>
-     </property>
-     <property name="spacing" >
-      <number>6</number>
-     </property>
      <item>
-      <widget class="QPushButton" name="btnHelp" >
-       <property name="text" >
-        <string>&amp;Help</string>
-       </property>
-       <property name="shortcut" >
-        <string>Alt+C</string>
-       </property>
-      </widget>
-     </item>
-     <item>
       <widget class="QLabel" name="textLabel1" >
        <property name="text" >
-        <string>Search for:</string>
+        <string>Search for</string>
        </property>
        <property name="buddy" >
         <cstring>mSearchText</cstring>
@@ -244,9 +218,7 @@
      <item>
       <widget class="QComboBox" name="mSearchColumns" >
        <property name="sizePolicy" >
-        <sizepolicy>
-         <hsizetype>7</hsizetype>
-         <vsizetype>0</vsizetype>
+        <sizepolicy vsizetype="Fixed" hsizetype="Expanding" >
          <horstretch>0</horstretch>
          <verstretch>0</verstretch>
         </sizepolicy>
@@ -273,18 +245,15 @@
        </property>
       </widget>
      </item>
-     <item>
-      <widget class="QPushButton" name="btnClose" >
-       <property name="text" >
-        <string>&amp;Close</string>
-       </property>
-       <property name="shortcut" >
-        <string>Alt+C</string>
-       </property>
-      </widget>
-     </item>
     </layout>
    </item>
+   <item row="3" column="0" >
+    <widget class="QDialogButtonBox" name="buttonBox" >
+     <property name="standardButtons" >
+      <set>QDialogButtonBox::Close|QDialogButtonBox::Help|QDialogButtonBox::NoButton</set>
+     </property>
+    </widget>
+   </item>
   </layout>
  </widget>
  <layoutdefault spacing="6" margin="11" />
@@ -300,6 +269,7 @@
   <tabstop>mSelectedToTopButton</tabstop>
   <tabstop>mInvertSelectionButton</tabstop>
   <tabstop>mCopySelectedRowsButton</tabstop>
+  <tabstop>mZoomMapToSelectedRowsButton</tabstop>
   <tabstop>mAddAttributeButton</tabstop>
   <tabstop>mDeleteAttributeButton</tabstop>
   <tabstop>btnStartEditing</tabstop>
@@ -309,8 +279,25 @@
   <tabstop>mSearchButton</tabstop>
   <tabstop>mSearchShowResults</tabstop>
   <tabstop>btnAdvancedSearch</tabstop>
-  <tabstop>btnClose</tabstop>
+  <tabstop>buttonBox</tabstop>
  </tabstops>
  <resources/>
- <connections/>
+ <connections>
+  <connection>
+   <sender>buttonBox</sender>
+   <signal>accepted()</signal>
+   <receiver>QgsAttributeTableBase</receiver>
+   <slot>accept()</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>645</x>
+     <y>560</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>682</x>
+     <y>529</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
 </ui>

Modified: trunk/qgis/src/ui/qgsdetaileditemwidgetbase.ui
===================================================================
--- trunk/qgis/src/ui/qgsdetaileditemwidgetbase.ui	2008-05-26 14:17:44 UTC (rev 8520)
+++ trunk/qgis/src/ui/qgsdetaileditemwidgetbase.ui	2008-05-26 14:25:56 UTC (rev 8521)
@@ -5,8 +5,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>299</width>
-    <height>159</height>
+    <width>295</width>
+    <height>68</height>
    </rect>
   </property>
   <property name="windowTitle" >
@@ -14,22 +14,22 @@
   </property>
   <layout class="QGridLayout" >
    <property name="leftMargin" >
-    <number>3</number>
+    <number>2</number>
    </property>
    <property name="topMargin" >
-    <number>3</number>
+    <number>2</number>
    </property>
    <property name="rightMargin" >
-    <number>3</number>
+    <number>2</number>
    </property>
    <property name="bottomMargin" >
-    <number>3</number>
+    <number>2</number>
    </property>
    <property name="horizontalSpacing" >
-    <number>3</number>
+    <number>2</number>
    </property>
    <property name="verticalSpacing" >
-    <number>3</number>
+    <number>2</number>
    </property>
    <item row="0" column="0" >
     <layout class="QHBoxLayout" >
@@ -106,7 +106,26 @@
     </layout>
    </item>
    <item row="1" column="0" >
-    <widget class="QTextBrowser" name="tbDetail" />
+    <widget class="QLabel" name="lblDetail" >
+     <property name="sizePolicy" >
+      <sizepolicy vsizetype="MinimumExpanding" hsizetype="Preferred" >
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="text" >
+      <string>Detail label</string>
+     </property>
+     <property name="scaledContents" >
+      <bool>false</bool>
+     </property>
+     <property name="alignment" >
+      <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+     </property>
+     <property name="wordWrap" >
+      <bool>true</bool>
+     </property>
+    </widget>
    </item>
   </layout>
  </widget>

Modified: trunk/qgis/src/ui/qgsrasterlayerpropertiesbase.ui
===================================================================
--- trunk/qgis/src/ui/qgsrasterlayerpropertiesbase.ui	2008-05-26 14:17:44 UTC (rev 8520)
+++ trunk/qgis/src/ui/qgsrasterlayerpropertiesbase.ui	2008-05-26 14:25:56 UTC (rev 8521)
@@ -5,8 +5,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>609</width>
-    <height>647</height>
+    <width>596</width>
+    <height>629</height>
    </rect>
   </property>
   <property name="windowTitle" >
@@ -32,55 +32,23 @@
        <string>Symbology</string>
       </attribute>
       <layout class="QGridLayout" >
-       <item row="0" column="0" >
+       <item row="0" column="0" colspan="2" >
         <widget class="QGroupBox" name="groupBox_3" >
          <property name="title" >
           <string>Render as</string>
          </property>
          <layout class="QGridLayout" >
           <item row="0" column="0" >
-           <widget class="QRadioButton" name="rbtnThreeBand" >
-            <property name="text" >
-             <string>Three band color</string>
-            </property>
-           </widget>
-          </item>
-          <item row="1" column="0" >
            <widget class="QRadioButton" name="rbtnSingleBand" >
             <property name="text" >
              <string>Single band gray</string>
             </property>
            </widget>
           </item>
-         </layout>
-        </widget>
-       </item>
-       <item row="0" column="1" >
-        <widget class="QGroupBox" name="groupBox_5" >
-         <property name="title" >
-          <string>Color map</string>
-         </property>
-         <layout class="QVBoxLayout" >
-          <item>
-           <widget class="QComboBox" name="cboxColorMap" >
-            <property name="sizePolicy" >
-             <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="minimumSize" >
-             <size>
-              <width>150</width>
-              <height>0</height>
-             </size>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QCheckBox" name="cboxInvertColorMap" >
+          <item row="0" column="1" >
+           <widget class="QRadioButton" name="rbtnThreeBand" >
             <property name="text" >
-             <string>Invert color map</string>
+             <string>Three band color</string>
             </property>
            </widget>
           </item>
@@ -88,662 +56,614 @@
         </widget>
        </item>
        <item row="1" column="0" colspan="2" >
-        <widget class="Line" name="line_2" >
-         <property name="orientation" >
-          <enum>Qt::Horizontal</enum>
+        <widget class="QStackedWidget" name="stackedWidget" >
+         <property name="sizePolicy" >
+          <sizepolicy vsizetype="Minimum" hsizetype="Expanding" >
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
          </property>
-        </widget>
-       </item>
-       <item rowspan="2" row="2" column="0" >
-        <widget class="QGroupBox" name="grpRgbBands" >
-         <property name="title" >
-          <string>RGB mode band selection</string>
+         <property name="currentIndex" >
+          <number>1</number>
          </property>
-         <layout class="QGridLayout" >
-          <item row="2" column="0" >
-           <widget class="QLabel" name="lblBlue" >
-            <property name="text" >
-             <string>&lt;b>&lt;font color='blue'>Blue&lt;/font>&lt;/b></string>
-            </property>
-            <property name="buddy" >
-             <cstring>cboBlue</cstring>
-            </property>
-           </widget>
-          </item>
-          <item row="1" column="0" >
-           <widget class="QLabel" name="lblGreen" >
-            <property name="text" >
-             <string>&lt;b>&lt;font color='green'>Green&lt;/font>&lt;/b></string>
-            </property>
-            <property name="buddy" >
-             <cstring>cboGreen</cstring>
-            </property>
-           </widget>
-          </item>
-          <item row="0" column="0" >
-           <widget class="QLabel" name="lblRed" >
-            <property name="text" >
-             <string>&lt;b>&lt;font color='red'>Red&lt;/font>&lt;/b></string>
-            </property>
-            <property name="buddy" >
-             <cstring>cboRed</cstring>
-            </property>
-           </widget>
-          </item>
-          <item row="2" column="1" >
-           <widget class="QComboBox" name="cboBlue" >
-            <property name="sizePolicy" >
-             <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="minimumSize" >
-             <size>
-              <width>150</width>
-              <height>0</height>
-             </size>
-            </property>
-            <property name="baseSize" >
-             <size>
-              <width>100</width>
-              <height>0</height>
-             </size>
-            </property>
-           </widget>
-          </item>
-          <item row="0" column="1" >
-           <widget class="QComboBox" name="cboRed" >
-            <property name="sizePolicy" >
-             <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="minimumSize" >
-             <size>
-              <width>150</width>
-              <height>0</height>
-             </size>
-            </property>
-            <property name="baseSize" >
-             <size>
-              <width>100</width>
-              <height>0</height>
-             </size>
-            </property>
-           </widget>
-          </item>
-          <item row="1" column="1" >
-           <widget class="QComboBox" name="cboGreen" >
-            <property name="sizePolicy" >
-             <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="minimumSize" >
-             <size>
-              <width>150</width>
-              <height>0</height>
-             </size>
-            </property>
-            <property name="baseSize" >
-             <size>
-              <width>0</width>
-              <height>0</height>
-             </size>
-            </property>
-           </widget>
-          </item>
-         </layout>
+         <widget class="QWidget" name="rgb" >
+          <layout class="QGridLayout" >
+           <property name="leftMargin" >
+            <number>0</number>
+           </property>
+           <property name="topMargin" >
+            <number>0</number>
+           </property>
+           <property name="rightMargin" >
+            <number>0</number>
+           </property>
+           <property name="bottomMargin" >
+            <number>0</number>
+           </property>
+           <item row="0" column="0" >
+            <widget class="QGroupBox" name="grpRgbBands" >
+             <property name="title" >
+              <string>RGB mode band selection and scaling</string>
+             </property>
+             <layout class="QGridLayout" >
+              <item row="0" column="0" >
+               <widget class="QLabel" name="lblRed" >
+                <property name="text" >
+                 <string>Red band</string>
+                </property>
+                <property name="buddy" >
+                 <cstring>cboRed</cstring>
+                </property>
+               </widget>
+              </item>
+              <item row="0" column="1" colspan="3" >
+               <widget class="QComboBox" name="cboRed" >
+                <property name="sizePolicy" >
+                 <sizepolicy vsizetype="Fixed" hsizetype="Expanding" >
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="minimumSize" >
+                 <size>
+                  <width>150</width>
+                  <height>0</height>
+                 </size>
+                </property>
+                <property name="baseSize" >
+                 <size>
+                  <width>100</width>
+                  <height>0</height>
+                 </size>
+                </property>
+               </widget>
+              </item>
+              <item row="1" column="0" >
+               <widget class="QLabel" name="lblGreen" >
+                <property name="text" >
+                 <string>Green band</string>
+                </property>
+                <property name="buddy" >
+                 <cstring>cboGreen</cstring>
+                </property>
+               </widget>
+              </item>
+              <item row="1" column="1" colspan="3" >
+               <widget class="QComboBox" name="cboGreen" >
+                <property name="sizePolicy" >
+                 <sizepolicy vsizetype="Fixed" hsizetype="Expanding" >
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="minimumSize" >
+                 <size>
+                  <width>150</width>
+                  <height>0</height>
+                 </size>
+                </property>
+                <property name="baseSize" >
+                 <size>
+                  <width>0</width>
+                  <height>0</height>
+                 </size>
+                </property>
+               </widget>
+              </item>
+              <item row="2" column="0" >
+               <widget class="QLabel" name="lblBlue" >
+                <property name="text" >
+                 <string>Blue band</string>
+                </property>
+                <property name="buddy" >
+                 <cstring>cboBlue</cstring>
+                </property>
+               </widget>
+              </item>
+              <item row="2" column="1" colspan="3" >
+               <widget class="QComboBox" name="cboBlue" >
+                <property name="sizePolicy" >
+                 <sizepolicy vsizetype="Fixed" hsizetype="Expanding" >
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="minimumSize" >
+                 <size>
+                  <width>150</width>
+                  <height>0</height>
+                 </size>
+                </property>
+                <property name="baseSize" >
+                 <size>
+                  <width>100</width>
+                  <height>0</height>
+                 </size>
+                </property>
+               </widget>
+              </item>
+              <item row="3" column="0" colspan="2" >
+               <widget class="QRadioButton" name="rbtnThreeBandMinMax" >
+                <property name="text" >
+                 <string>Custom min / max values</string>
+                </property>
+               </widget>
+              </item>
+              <item row="4" column="0" >
+               <widget class="QLabel" name="lblRedMin" >
+                <property name="sizePolicy" >
+                 <sizepolicy vsizetype="Minimum" hsizetype="MinimumExpanding" >
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="text" >
+                 <string>Red min</string>
+                </property>
+               </widget>
+              </item>
+              <item row="4" column="1" >
+               <widget class="QLineEdit" name="leRedMin" >
+                <property name="sizePolicy" >
+                 <sizepolicy vsizetype="Minimum" hsizetype="Expanding" >
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="maximumSize" >
+                 <size>
+                  <width>75</width>
+                  <height>16777215</height>
+                 </size>
+                </property>
+                <property name="baseSize" >
+                 <size>
+                  <width>0</width>
+                  <height>0</height>
+                 </size>
+                </property>
+                <property name="maxLength" >
+                 <number>16</number>
+                </property>
+               </widget>
+              </item>
+              <item row="4" column="2" >
+               <widget class="QLabel" name="lblRedMax" >
+                <property name="sizePolicy" >
+                 <sizepolicy vsizetype="Minimum" hsizetype="MinimumExpanding" >
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="text" >
+                 <string>Red max</string>
+                </property>
+               </widget>
+              </item>
+              <item row="4" column="3" >
+               <widget class="QLineEdit" name="leRedMax" >
+                <property name="sizePolicy" >
+                 <sizepolicy vsizetype="Minimum" hsizetype="Expanding" >
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="maximumSize" >
+                 <size>
+                  <width>75</width>
+                  <height>16777215</height>
+                 </size>
+                </property>
+                <property name="baseSize" >
+                 <size>
+                  <width>0</width>
+                  <height>0</height>
+                 </size>
+                </property>
+                <property name="maxLength" >
+                 <number>16</number>
+                </property>
+               </widget>
+              </item>
+              <item row="5" column="0" >
+               <widget class="QLabel" name="lblGreenMin" >
+                <property name="sizePolicy" >
+                 <sizepolicy vsizetype="Minimum" hsizetype="MinimumExpanding" >
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="text" >
+                 <string>Green min</string>
+                </property>
+               </widget>
+              </item>
+              <item row="5" column="1" >
+               <widget class="QLineEdit" name="leGreenMin" >
+                <property name="sizePolicy" >
+                 <sizepolicy vsizetype="Minimum" hsizetype="Expanding" >
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="maximumSize" >
+                 <size>
+                  <width>75</width>
+                  <height>16777215</height>
+                 </size>
+                </property>
+                <property name="baseSize" >
+                 <size>
+                  <width>0</width>
+                  <height>0</height>
+                 </size>
+                </property>
+                <property name="maxLength" >
+                 <number>16</number>
+                </property>
+               </widget>
+              </item>
+              <item row="5" column="2" >
+               <widget class="QLabel" name="lblGreenMax" >
+                <property name="sizePolicy" >
+                 <sizepolicy vsizetype="Minimum" hsizetype="MinimumExpanding" >
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="text" >
+                 <string>Green max</string>
+                </property>
+               </widget>
+              </item>
+              <item row="5" column="3" >
+               <widget class="QLineEdit" name="leGreenMax" >
+                <property name="sizePolicy" >
+                 <sizepolicy vsizetype="Minimum" hsizetype="Expanding" >
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="maximumSize" >
+                 <size>
+                  <width>75</width>
+                  <height>16777215</height>
+                 </size>
+                </property>
+                <property name="baseSize" >
+                 <size>
+                  <width>0</width>
+                  <height>0</height>
+                 </size>
+                </property>
+                <property name="maxLength" >
+                 <number>16</number>
+                </property>
+               </widget>
+              </item>
+              <item row="6" column="0" >
+               <widget class="QLabel" name="lblBlueMin" >
+                <property name="sizePolicy" >
+                 <sizepolicy vsizetype="Minimum" hsizetype="MinimumExpanding" >
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="text" >
+                 <string>Blue min</string>
+                </property>
+               </widget>
+              </item>
+              <item row="6" column="1" >
+               <widget class="QLineEdit" name="leBlueMin" >
+                <property name="sizePolicy" >
+                 <sizepolicy vsizetype="Minimum" hsizetype="Expanding" >
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="maximumSize" >
+                 <size>
+                  <width>75</width>
+                  <height>16777215</height>
+                 </size>
+                </property>
+                <property name="baseSize" >
+                 <size>
+                  <width>0</width>
+                  <height>0</height>
+                 </size>
+                </property>
+                <property name="maxLength" >
+                 <number>16</number>
+                </property>
+               </widget>
+              </item>
+              <item row="6" column="2" >
+               <widget class="QLabel" name="lblBlueMax" >
+                <property name="sizePolicy" >
+                 <sizepolicy vsizetype="Minimum" hsizetype="MinimumExpanding" >
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="text" >
+                 <string>Blue max</string>
+                </property>
+               </widget>
+              </item>
+              <item row="6" column="3" >
+               <widget class="QLineEdit" name="leBlueMax" >
+                <property name="sizePolicy" >
+                 <sizepolicy vsizetype="Minimum" hsizetype="Expanding" >
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="maximumSize" >
+                 <size>
+                  <width>75</width>
+                  <height>16777215</height>
+                 </size>
+                </property>
+                <property name="baseSize" >
+                 <size>
+                  <width>0</width>
+                  <height>0</height>
+                 </size>
+                </property>
+                <property name="maxLength" >
+                 <number>16</number>
+                </property>
+               </widget>
+              </item>
+              <item row="7" column="0" colspan="2" >
+               <widget class="QRadioButton" name="rbtnThreeBandStdDev" >
+                <property name="text" >
+                 <string>Std. deviation</string>
+                </property>
+               </widget>
+              </item>
+              <item row="7" column="3" >
+               <widget class="QDoubleSpinBox" name="sboxThreeBandStdDev" >
+                <property name="maximum" >
+                 <double>10.000000000000000</double>
+                </property>
+                <property name="singleStep" >
+                 <double>0.100000000000000</double>
+                </property>
+                <property name="value" >
+                 <double>0.000000000000000</double>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </widget>
+           </item>
+          </layout>
+         </widget>
+         <widget class="QWidget" name="gray" >
+          <layout class="QGridLayout" >
+           <property name="leftMargin" >
+            <number>0</number>
+           </property>
+           <property name="topMargin" >
+            <number>0</number>
+           </property>
+           <property name="rightMargin" >
+            <number>0</number>
+           </property>
+           <property name="bottomMargin" >
+            <number>0</number>
+           </property>
+           <item row="0" column="0" >
+            <widget class="QGroupBox" name="groupBox_5" >
+             <property name="title" >
+              <string>Single band properties</string>
+             </property>
+             <layout class="QGridLayout" >
+              <item row="0" column="0" >
+               <widget class="QLabel" name="label" >
+                <property name="sizePolicy" >
+                 <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="text" >
+                 <string>Gray band</string>
+                </property>
+               </widget>
+              </item>
+              <item row="0" column="1" colspan="6" >
+               <widget class="QComboBox" name="cboGray" >
+                <property name="sizePolicy" >
+                 <sizepolicy vsizetype="Fixed" hsizetype="Expanding" >
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="minimumSize" >
+                 <size>
+                  <width>150</width>
+                  <height>0</height>
+                 </size>
+                </property>
+               </widget>
+              </item>
+              <item row="1" column="0" >
+               <widget class="QLabel" name="label_5" >
+                <property name="text" >
+                 <string>Color map</string>
+                </property>
+               </widget>
+              </item>
+              <item row="1" column="1" colspan="6" >
+               <widget class="QComboBox" name="cboxColorMap" >
+                <property name="sizePolicy" >
+                 <sizepolicy vsizetype="Fixed" hsizetype="Expanding" >
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="minimumSize" >
+                 <size>
+                  <width>150</width>
+                  <height>0</height>
+                 </size>
+                </property>
+               </widget>
+              </item>
+              <item row="2" column="1" colspan="6" >
+               <widget class="QCheckBox" name="cboxInvertColorMap" >
+                <property name="sizePolicy" >
+                 <sizepolicy vsizetype="Fixed" hsizetype="Expanding" >
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="text" >
+                 <string>Invert color map</string>
+                </property>
+               </widget>
+              </item>
+              <item row="3" column="0" colspan="2" >
+               <widget class="QRadioButton" name="rbtnSingleBandMinMax" >
+                <property name="text" >
+                 <string>Custom min / max values</string>
+                </property>
+               </widget>
+              </item>
+              <item row="3" column="3" >
+               <widget class="QLabel" name="lblGrayMin" >
+                <property name="sizePolicy" >
+                 <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="text" >
+                 <string>Min</string>
+                </property>
+               </widget>
+              </item>
+              <item row="3" column="4" >
+               <widget class="QLineEdit" name="leGrayMin" >
+                <property name="sizePolicy" >
+                 <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="maximumSize" >
+                 <size>
+                  <width>75</width>
+                  <height>16777215</height>
+                 </size>
+                </property>
+                <property name="baseSize" >
+                 <size>
+                  <width>0</width>
+                  <height>0</height>
+                 </size>
+                </property>
+                <property name="maxLength" >
+                 <number>16</number>
+                </property>
+               </widget>
+              </item>
+              <item row="3" column="5" >
+               <widget class="QLabel" name="lblGrayMax" >
+                <property name="sizePolicy" >
+                 <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="text" >
+                 <string>Max</string>
+                </property>
+               </widget>
+              </item>
+              <item row="3" column="6" >
+               <widget class="QLineEdit" name="leGrayMax" >
+                <property name="sizePolicy" >
+                 <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="maximumSize" >
+                 <size>
+                  <width>75</width>
+                  <height>16777215</height>
+                 </size>
+                </property>
+                <property name="baseSize" >
+                 <size>
+                  <width>0</width>
+                  <height>0</height>
+                 </size>
+                </property>
+                <property name="maxLength" >
+                 <number>16</number>
+                </property>
+               </widget>
+              </item>
+              <item row="4" column="0" colspan="3" >
+               <widget class="QRadioButton" name="rbtnSingleBandStdDev" >
+                <property name="text" >
+                 <string>Use standard deviation</string>
+                </property>
+               </widget>
+              </item>
+              <item row="4" column="4" >
+               <widget class="QDoubleSpinBox" name="sboxSingleBandStdDev" >
+                <property name="maximum" >
+                 <double>10.000000000000000</double>
+                </property>
+                <property name="singleStep" >
+                 <double>0.100000000000000</double>
+                </property>
+                <property name="value" >
+                 <double>0.000000000000000</double>
+                </property>
+               </widget>
+              </item>
+              <item row="5" column="0" colspan="7" >
+               <widget class="QLabel" name="lblMinMaxEstimateWarning" >
+                <property name="sizePolicy" >
+                 <sizepolicy vsizetype="Maximum" hsizetype="Expanding" >
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="text" >
+                 <string>Estimate note:</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </widget>
+           </item>
+          </layout>
+         </widget>
         </widget>
        </item>
-       <item row="2" column="1" >
-        <spacer>
-         <property name="orientation" >
-          <enum>Qt::Vertical</enum>
-         </property>
-         <property name="sizeHint" >
-          <size>
-           <width>20</width>
-           <height>40</height>
-          </size>
-         </property>
-        </spacer>
-       </item>
-       <item row="3" column="1" >
-        <widget class="QGroupBox" name="grpGrayBand" >
-         <property name="title" >
-          <string>Grayscale band selection</string>
-         </property>
-         <layout class="QGridLayout" >
-          <property name="horizontalSpacing" >
-           <number>6</number>
-          </property>
-          <property name="verticalSpacing" >
-           <number>6</number>
-          </property>
-          <item row="0" column="0" >
-           <widget class="QLabel" name="label" >
-            <property name="sizePolicy" >
-             <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="text" >
-             <string>Gray</string>
-            </property>
-           </widget>
-          </item>
-          <item row="0" column="1" >
-           <widget class="QComboBox" name="cboGray" >
-            <property name="sizePolicy" >
-             <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="minimumSize" >
-             <size>
-              <width>150</width>
-              <height>0</height>
-             </size>
-            </property>
-           </widget>
-          </item>
-         </layout>
-        </widget>
-       </item>
-       <item rowspan="2" row="4" column="0" >
-        <widget class="QGroupBox" name="grpRgbScaling" >
-         <property name="title" >
-          <string>RGB scaling</string>
-         </property>
-         <layout class="QGridLayout" >
-          <item row="3" column="3" >
-           <widget class="QLabel" name="lblBlueMax" >
-            <property name="text" >
-             <string>&lt;b>&lt;font color='blue'>Max&lt;/font>&lt;/b></string>
-            </property>
-           </widget>
-          </item>
-          <item row="4" column="0" colspan="2" >
-           <widget class="QRadioButton" name="rbtnThreeBandStdDev" >
-            <property name="text" >
-             <string>Std. deviation</string>
-            </property>
-           </widget>
-          </item>
-          <item row="0" column="0" colspan="5" >
-           <widget class="QRadioButton" name="rbtnThreeBandMinMax" >
-            <property name="text" >
-             <string>Custom min / max values</string>
-            </property>
-           </widget>
-          </item>
-          <item row="2" column="4" >
-           <widget class="QLineEdit" name="leGreenMax" >
-            <property name="sizePolicy" >
-             <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="maximumSize" >
-             <size>
-              <width>75</width>
-              <height>16777215</height>
-             </size>
-            </property>
-            <property name="baseSize" >
-             <size>
-              <width>0</width>
-              <height>0</height>
-             </size>
-            </property>
-            <property name="maxLength" >
-             <number>16</number>
-            </property>
-           </widget>
-          </item>
-          <item row="2" column="0" >
-           <widget class="QLabel" name="lblGreenMin" >
-            <property name="sizePolicy" >
-             <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="text" >
-             <string>&lt;b>&lt;font color='green'>Min&lt;/font>&lt;/b></string>
-            </property>
-           </widget>
-          </item>
-          <item row="2" column="3" >
-           <widget class="QLabel" name="lblGreenMax" >
-            <property name="sizePolicy" >
-             <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="text" >
-             <string>&lt;b>&lt;font color='green'>Max&lt;/font>&lt;/b></string>
-            </property>
-           </widget>
-          </item>
-          <item row="1" column="0" >
-           <widget class="QLabel" name="lblRedMin" >
-            <property name="sizePolicy" >
-             <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="text" >
-             <string>&lt;b>&lt;font color='red'>Min&lt;/font>&lt;/b></string>
-            </property>
-           </widget>
-          </item>
-          <item row="3" column="2" >
-           <spacer>
-            <property name="orientation" >
-             <enum>Qt::Horizontal</enum>
-            </property>
-            <property name="sizeHint" >
-             <size>
-              <width>21</width>
-              <height>20</height>
-             </size>
-            </property>
-           </spacer>
-          </item>
-          <item row="1" column="4" >
-           <widget class="QLineEdit" name="leRedMax" >
-            <property name="sizePolicy" >
-             <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="maximumSize" >
-             <size>
-              <width>75</width>
-              <height>16777215</height>
-             </size>
-            </property>
-            <property name="baseSize" >
-             <size>
-              <width>0</width>
-              <height>0</height>
-             </size>
-            </property>
-            <property name="maxLength" >
-             <number>16</number>
-            </property>
-           </widget>
-          </item>
-          <item row="1" column="3" >
-           <widget class="QLabel" name="lblRedMax" >
-            <property name="sizePolicy" >
-             <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="text" >
-             <string>&lt;b>&lt;font color='red'>Max&lt;/font>&lt;/b></string>
-            </property>
-           </widget>
-          </item>
-          <item row="2" column="2" >
-           <spacer>
-            <property name="orientation" >
-             <enum>Qt::Horizontal</enum>
-            </property>
-            <property name="sizeHint" >
-             <size>
-              <width>21</width>
-              <height>20</height>
-             </size>
-            </property>
-           </spacer>
-          </item>
-          <item row="3" column="4" >
-           <widget class="QLineEdit" name="leBlueMax" >
-            <property name="sizePolicy" >
-             <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="maximumSize" >
-             <size>
-              <width>75</width>
-              <height>16777215</height>
-             </size>
-            </property>
-            <property name="baseSize" >
-             <size>
-              <width>0</width>
-              <height>0</height>
-             </size>
-            </property>
-            <property name="maxLength" >
-             <number>16</number>
-            </property>
-           </widget>
-          </item>
-          <item row="3" column="1" >
-           <widget class="QLineEdit" name="leBlueMin" >
-            <property name="sizePolicy" >
-             <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="maximumSize" >
-             <size>
-              <width>75</width>
-              <height>16777215</height>
-             </size>
-            </property>
-            <property name="baseSize" >
-             <size>
-              <width>0</width>
-              <height>0</height>
-             </size>
-            </property>
-            <property name="maxLength" >
-             <number>16</number>
-            </property>
-           </widget>
-          </item>
-          <item row="3" column="0" >
-           <widget class="QLabel" name="lblBlueMin" >
-            <property name="sizePolicy" >
-             <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="text" >
-             <string>&lt;b>&lt;font color='blue'>Min&lt;/font>&lt;/b></string>
-            </property>
-           </widget>
-          </item>
-          <item row="1" column="2" >
-           <spacer>
-            <property name="orientation" >
-             <enum>Qt::Horizontal</enum>
-            </property>
-            <property name="sizeHint" >
-             <size>
-              <width>21</width>
-              <height>20</height>
-             </size>
-            </property>
-           </spacer>
-          </item>
-          <item row="1" column="1" >
-           <widget class="QLineEdit" name="leRedMin" >
-            <property name="sizePolicy" >
-             <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="maximumSize" >
-             <size>
-              <width>75</width>
-              <height>16777215</height>
-             </size>
-            </property>
-            <property name="baseSize" >
-             <size>
-              <width>0</width>
-              <height>0</height>
-             </size>
-            </property>
-            <property name="maxLength" >
-             <number>16</number>
-            </property>
-           </widget>
-          </item>
-          <item row="4" column="2" colspan="2" >
-           <spacer>
-            <property name="orientation" >
-             <enum>Qt::Horizontal</enum>
-            </property>
-            <property name="sizeHint" >
-             <size>
-              <width>40</width>
-              <height>20</height>
-             </size>
-            </property>
-           </spacer>
-          </item>
-          <item row="4" column="4" >
-           <widget class="QDoubleSpinBox" name="sboxThreeBandStdDev" >
-            <property name="maximum" >
-             <double>10.000000000000000</double>
-            </property>
-            <property name="singleStep" >
-             <double>0.100000000000000</double>
-            </property>
-            <property name="value" >
-             <double>0.000000000000000</double>
-            </property>
-           </widget>
-          </item>
-          <item row="2" column="1" >
-           <widget class="QLineEdit" name="leGreenMin" >
-            <property name="sizePolicy" >
-             <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="maximumSize" >
-             <size>
-              <width>75</width>
-              <height>16777215</height>
-             </size>
-            </property>
-            <property name="baseSize" >
-             <size>
-              <width>0</width>
-              <height>0</height>
-             </size>
-            </property>
-            <property name="maxLength" >
-             <number>16</number>
-            </property>
-           </widget>
-          </item>
-         </layout>
-        </widget>
-       </item>
-       <item row="4" column="1" >
-        <widget class="QGroupBox" name="grpGrayScaling" >
-         <property name="title" >
-          <string>Grayscale band scaling</string>
-         </property>
-         <layout class="QGridLayout" >
-          <item row="3" column="0" colspan="5" >
-           <widget class="QLabel" name="lblMinMaxEstimateWarning" >
-            <property name="sizePolicy" >
-             <sizepolicy vsizetype="Preferred" hsizetype="Expanding" >
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="text" >
-             <string/>
-            </property>
-           </widget>
-          </item>
-          <item row="1" column="1" >
-           <widget class="QLineEdit" name="leGrayMin" >
-            <property name="sizePolicy" >
-             <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="maximumSize" >
-             <size>
-              <width>75</width>
-              <height>16777215</height>
-             </size>
-            </property>
-            <property name="baseSize" >
-             <size>
-              <width>0</width>
-              <height>0</height>
-             </size>
-            </property>
-            <property name="maxLength" >
-             <number>16</number>
-            </property>
-           </widget>
-          </item>
-          <item row="2" column="4" >
-           <widget class="QDoubleSpinBox" name="sboxSingleBandStdDev" >
-            <property name="maximum" >
-             <double>10.000000000000000</double>
-            </property>
-            <property name="singleStep" >
-             <double>0.100000000000000</double>
-            </property>
-            <property name="value" >
-             <double>0.000000000000000</double>
-            </property>
-           </widget>
-          </item>
-          <item row="1" column="4" >
-           <widget class="QLineEdit" name="leGrayMax" >
-            <property name="sizePolicy" >
-             <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="maximumSize" >
-             <size>
-              <width>75</width>
-              <height>16777215</height>
-             </size>
-            </property>
-            <property name="baseSize" >
-             <size>
-              <width>0</width>
-              <height>0</height>
-             </size>
-            </property>
-            <property name="maxLength" >
-             <number>16</number>
-            </property>
-           </widget>
-          </item>
-          <item row="1" column="3" >
-           <widget class="QLabel" name="lblGrayMax" >
-            <property name="sizePolicy" >
-             <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="text" >
-             <string>Max</string>
-            </property>
-           </widget>
-          </item>
-          <item row="1" column="2" >
-           <spacer>
-            <property name="orientation" >
-             <enum>Qt::Horizontal</enum>
-            </property>
-            <property name="sizeHint" >
-             <size>
-              <width>21</width>
-              <height>20</height>
-             </size>
-            </property>
-           </spacer>
-          </item>
-          <item row="2" column="0" colspan="2" >
-           <widget class="QRadioButton" name="rbtnSingleBandStdDev" >
-            <property name="text" >
-             <string>Std. deviation</string>
-            </property>
-           </widget>
-          </item>
-          <item row="0" column="0" colspan="5" >
-           <widget class="QRadioButton" name="rbtnSingleBandMinMax" >
-            <property name="text" >
-             <string>Custom min / max values</string>
-            </property>
-           </widget>
-          </item>
-          <item row="2" column="2" colspan="2" >
-           <spacer>
-            <property name="orientation" >
-             <enum>Qt::Horizontal</enum>
-            </property>
-            <property name="sizeHint" >
-             <size>
-              <width>40</width>
-              <height>20</height>
-             </size>
-            </property>
-           </spacer>
-          </item>
-          <item row="1" column="0" >
-           <widget class="QLabel" name="lblGrayMin" >
-            <property name="sizePolicy" >
-             <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="text" >
-             <string>Min</string>
-            </property>
-           </widget>
-          </item>
-         </layout>
-        </widget>
-       </item>
-       <item row="5" column="1" >
-        <spacer>
-         <property name="orientation" >
-          <enum>Qt::Vertical</enum>
-         </property>
-         <property name="sizeHint" >
-          <size>
-           <width>20</width>
-           <height>40</height>
-          </size>
-         </property>
-        </spacer>
-       </item>
-       <item row="6" column="0" colspan="2" >
+       <item row="3" column="0" colspan="2" >
         <widget class="Line" name="line" >
          <property name="orientation" >
           <enum>Qt::Horizontal</enum>
          </property>
         </widget>
        </item>
-       <item row="7" column="0" >
+       <item row="4" column="0" >
         <widget class="QGroupBox" name="groupBox_2" >
          <property name="title" >
           <string>Load min / max values from band</string>
          </property>
          <layout class="QGridLayout" >
-          <item rowspan="2" row="0" column="0" >
+          <item row="0" column="0" >
            <widget class="QRadioButton" name="rbtnEstimateMinMax" >
             <property name="text" >
              <string>Estimate (faster)</string>
@@ -757,13 +677,20 @@
             </property>
             <property name="sizeHint" >
              <size>
-              <width>201</width>
+              <width>81</width>
               <height>20</height>
              </size>
             </property>
            </spacer>
           </item>
-          <item rowspan="2" row="1" column="1" >
+          <item row="1" column="0" >
+           <widget class="QRadioButton" name="rbtnActualMinMax" >
+            <property name="text" >
+             <string>Actual (slower)</string>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="1" >
            <spacer>
             <property name="orientation" >
              <enum>Qt::Horizontal</enum>
@@ -776,24 +703,17 @@
             </property>
            </spacer>
           </item>
-          <item rowspan="2" row="1" column="2" >
+          <item row="1" column="2" >
            <widget class="QPushButton" name="pbtnLoadMinMax" >
             <property name="text" >
              <string>Load</string>
             </property>
            </widget>
           </item>
-          <item row="2" column="0" >
-           <widget class="QRadioButton" name="rbtnActualMinMax" >
-            <property name="text" >
-             <string>Actual (slower)</string>
-            </property>
-           </widget>
-          </item>
          </layout>
         </widget>
        </item>
-       <item row="7" column="1" >
+       <item row="4" column="1" >
         <widget class="QGroupBox" name="groupBox_8" >
          <property name="title" >
           <string>Contrast enhancement</string>
@@ -870,6 +790,19 @@
          </layout>
         </widget>
        </item>
+       <item row="2" column="0" >
+        <spacer>
+         <property name="orientation" >
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" >
+          <size>
+           <width>20</width>
+           <height>0</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
       </layout>
      </widget>
      <widget class="QWidget" name="tabPageTransparency" >
@@ -2067,6 +2000,53 @@
     </widget>
    </item>
    <item row="1" column="0" >
+    <layout class="QHBoxLayout" >
+     <property name="spacing" >
+      <number>3</number>
+     </property>
+     <property name="leftMargin" >
+      <number>1</number>
+     </property>
+     <property name="topMargin" >
+      <number>1</number>
+     </property>
+     <property name="rightMargin" >
+      <number>1</number>
+     </property>
+     <property name="bottomMargin" >
+      <number>1</number>
+     </property>
+     <item>
+      <widget class="QPushButton" name="pbnLoadDefaultStyle" >
+       <property name="text" >
+        <string>Restore Default Style</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="pbnSaveDefaultStyle" >
+       <property name="text" >
+        <string>Save As Default</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="pbnLoadStyle" >
+       <property name="text" >
+        <string>Load Style ...</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="pbnSaveStyleAs" >
+       <property name="text" >
+        <string>Save Style ...</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item row="2" column="0" >
     <widget class="QDialogButtonBox" name="buttonBox" >
      <property name="orientation" >
       <enum>Qt::Horizontal</enum>
@@ -2129,7 +2109,7 @@
    <hints>
     <hint type="sourcelabel" >
      <x>458</x>
-     <y>562</y>
+     <y>589</y>
     </hint>
     <hint type="destinationlabel" >
      <x>3</x>



More information about the QGIS-commit mailing list