[QGIS Commit] r11910 - branches/symbology-ng-branch/src/gui/symbology-ng

svn_qgis at osgeo.org svn_qgis at osgeo.org
Tue Nov 3 13:00:21 EST 2009


Author: wonder
Date: 2009-11-03 13:00:20 -0500 (Tue, 03 Nov 2009)
New Revision: 11910

Modified:
   branches/symbology-ng-branch/src/gui/symbology-ng/qgsrendererv2propertiesdialog.cpp
   branches/symbology-ng-branch/src/gui/symbology-ng/qgsrendererv2propertiesdialog.h
   branches/symbology-ng-branch/src/gui/symbology-ng/qgssymbolv2propertiesdialog.cpp
   branches/symbology-ng-branch/src/gui/symbology-ng/qgssymbolv2propertiesdialog.h
   branches/symbology-ng-branch/src/gui/symbology-ng/qgssymbolv2selectordialog.cpp
   branches/symbology-ng-branch/src/gui/symbology-ng/qgssymbolv2selectordialog.h
Log:
let dialogs ignore escape key when embedded in other dialog. this prevents that they get closed leaving blank space in the parent dialog.


Modified: branches/symbology-ng-branch/src/gui/symbology-ng/qgsrendererv2propertiesdialog.cpp
===================================================================
--- branches/symbology-ng-branch/src/gui/symbology-ng/qgsrendererv2propertiesdialog.cpp	2009-11-03 17:32:36 UTC (rev 11909)
+++ branches/symbology-ng-branch/src/gui/symbology-ng/qgsrendererv2propertiesdialog.cpp	2009-11-03 18:00:20 UTC (rev 11910)
@@ -21,6 +21,7 @@
 
 #include <QStandardItemModel>
 #include <QStandardItem>
+#include <QKeyEvent>
 
 QgsRendererV2PropertiesDialog::QgsRendererV2PropertiesDialog(QgsVectorLayer* layer, QgsStyleV2* style, QWidget* parent, bool embedded)
   : QDialog(parent), mStyle(style)
@@ -556,3 +557,16 @@
     mRenderer->setUsingSymbolLevels( dlg.usingLevels() );
   }
 }
+
+void QgsRendererV2PropertiesDialog::keyPressEvent( QKeyEvent * e )
+{
+  // Ignore the ESC key to avoid close the dialog without the properties window
+  if ( !isWindow() && e->key() == Qt::Key_Escape )
+  {
+    e->ignore();
+  }
+  else
+  {
+    QDialog::keyPressEvent(e);
+  }
+}

Modified: branches/symbology-ng-branch/src/gui/symbology-ng/qgsrendererv2propertiesdialog.h
===================================================================
--- branches/symbology-ng-branch/src/gui/symbology-ng/qgsrendererv2propertiesdialog.h	2009-11-03 17:32:36 UTC (rev 11909)
+++ branches/symbology-ng-branch/src/gui/symbology-ng/qgsrendererv2propertiesdialog.h	2009-11-03 18:00:20 UTC (rev 11910)
@@ -42,7 +42,10 @@
   void apply();
 
 protected:
-  
+
+  //! Reimplements dialog keyPress event so we can ignore it
+  void keyPressEvent( QKeyEvent * event );
+
   //! update UI to reflect changes in renderer
   void updateUiFromRenderer();
   

Modified: branches/symbology-ng-branch/src/gui/symbology-ng/qgssymbolv2propertiesdialog.cpp
===================================================================
--- branches/symbology-ng-branch/src/gui/symbology-ng/qgssymbolv2propertiesdialog.cpp	2009-11-03 17:32:36 UTC (rev 11909)
+++ branches/symbology-ng-branch/src/gui/symbology-ng/qgssymbolv2propertiesdialog.cpp	2009-11-03 18:00:20 UTC (rev 11910)
@@ -3,6 +3,7 @@
 
 #include <QFile>
 #include <QStandardItem>
+#include <QKeyEvent>
 
 #include "qgssymbollayerv2.h"
 #include "qgssymbolv2.h"
@@ -367,3 +368,18 @@
   
   layer->setLocked( btnLock->isChecked() );
 }
+
+#include "qgslogger.h"
+
+void QgsSymbolV2PropertiesDialog::keyPressEvent( QKeyEvent * e )
+{
+  // Ignore the ESC key to avoid close the dialog without the properties window
+  if ( !isWindow() && e->key() == Qt::Key_Escape )
+  {
+    e->ignore();
+  }
+  else
+  {
+    QDialog::keyPressEvent(e);
+  }
+}

Modified: branches/symbology-ng-branch/src/gui/symbology-ng/qgssymbolv2propertiesdialog.h
===================================================================
--- branches/symbology-ng-branch/src/gui/symbology-ng/qgssymbolv2propertiesdialog.h	2009-11-03 17:32:36 UTC (rev 11909)
+++ branches/symbology-ng-branch/src/gui/symbology-ng/qgssymbolv2propertiesdialog.h	2009-11-03 18:00:20 UTC (rev 11910)
@@ -39,6 +39,9 @@
   
 protected:
   
+  //! Reimplements dialog keyPress event so we can ignore it
+  void keyPressEvent( QKeyEvent * event );
+
   void loadSymbol();
   
   void populateLayerTypes();

Modified: branches/symbology-ng-branch/src/gui/symbology-ng/qgssymbolv2selectordialog.cpp
===================================================================
--- branches/symbology-ng-branch/src/gui/symbology-ng/qgssymbolv2selectordialog.cpp	2009-11-03 17:32:36 UTC (rev 11909)
+++ branches/symbology-ng-branch/src/gui/symbology-ng/qgssymbolv2selectordialog.cpp	2009-11-03 18:00:20 UTC (rev 11910)
@@ -13,6 +13,7 @@
 #include <QPainter>
 #include <QStandardItemModel>
 #include <QInputDialog>
+#include <QKeyEvent>
 
 QgsSymbolV2SelectorDialog::QgsSymbolV2SelectorDialog(QgsSymbolV2* symbol, QgsStyleV2* style, QWidget* parent, bool embedded)
   : QDialog(parent)
@@ -202,3 +203,16 @@
 
   populateSymbolView();
 }
+
+void QgsSymbolV2SelectorDialog::keyPressEvent( QKeyEvent * e )
+{
+  // Ignore the ESC key to avoid close the dialog without the properties window
+  if ( !isWindow() && e->key() == Qt::Key_Escape )
+  {
+    e->ignore();
+  }
+  else
+  {
+    QDialog::keyPressEvent(e);
+  }
+}

Modified: branches/symbology-ng-branch/src/gui/symbology-ng/qgssymbolv2selectordialog.h
===================================================================
--- branches/symbology-ng-branch/src/gui/symbology-ng/qgssymbolv2selectordialog.h	2009-11-03 17:32:36 UTC (rev 11909)
+++ branches/symbology-ng-branch/src/gui/symbology-ng/qgssymbolv2selectordialog.h	2009-11-03 18:00:20 UTC (rev 11910)
@@ -22,6 +22,8 @@
   void updateSymbolColor();
   void updateSymbolInfo();
   
+  //! Reimplements dialog keyPress event so we can ignore it
+  void keyPressEvent( QKeyEvent * event );
 
 public slots:
   void changeSymbolProperties();



More information about the QGIS-commit mailing list