[QGIS Commit] r13732 - trunk/qgis/src/app
svn_qgis at osgeo.org
svn_qgis at osgeo.org
Mon Jun 14 12:11:20 EDT 2010
Author: jef
Date: 2010-06-14 16:11:20 +0000 (Mon, 14 Jun 2010)
New Revision: 13732
Modified:
trunk/qgis/src/app/qgisapp.cpp
trunk/qgis/src/app/qgisapp.h
trunk/qgis/src/app/qgsmaptooladdfeature.cpp
Log:
workaround #2239
Modified: trunk/qgis/src/app/qgisapp.cpp
===================================================================
--- trunk/qgis/src/app/qgisapp.cpp 2010-06-14 14:18:01 UTC (rev 13731)
+++ trunk/qgis/src/app/qgisapp.cpp 2010-06-14 16:11:20 UTC (rev 13732)
@@ -366,6 +366,9 @@
#ifdef HAVE_QWT
, mpGpsWidget( NULL )
#endif
+#ifdef Q_OS_WIN
+ , mSkipNextContextMenuEvent( 0 )
+#endif
{
if ( smInstance )
{
@@ -1926,7 +1929,7 @@
mActionAddToOverview->setIcon( getThemeIcon( "/mActionInOverview.png" ) );
mActionAnnotation->setIcon( getThemeIcon( "/mActionAnnotation.png" ) );
mActionFormAnnotation->setIcon( getThemeIcon( "/mActionFormAnnotation.png" ) );
- mActionTextAnnotation->setIcon( getThemeIcon( "/mActionTextAnnotation.png" ) );
+ mActionTextAnnotation->setIcon( getThemeIcon( "/mActionTextAnnotation.png" ) );
//change themes of all composers
QSet<QgsComposer*>::iterator composerIt = mPrintComposers.begin();
@@ -6365,6 +6368,26 @@
}
}
+#ifdef Q_OS_WIN
+// hope your wearing your peril sensitive sunglasses.
+void QgisApp::contextMenuEvent( QContextMenuEvent *e )
+{
+ if ( mSkipNextContextMenuEvent )
+ {
+ mSkipNextContextMenuEvent--;
+ e->ignore();
+ return;
+ }
+
+ QMainWindow::contextMenuEvent( e );
+}
+
+void QgisApp::skipNextContextMenuEvent()
+{
+ mSkipNextContextMenuEvent++;
+}
+#endif
+
// Debug hook - used to output diagnostic messages when evoked (usually from the menu)
/* Temporarily disabled...
void QgisApp::debugHook()
Modified: trunk/qgis/src/app/qgisapp.h
===================================================================
--- trunk/qgis/src/app/qgisapp.h 2010-06-14 14:18:01 UTC (rev 13731)
+++ trunk/qgis/src/app/qgisapp.h 2010-06-14 16:11:20 UTC (rev 13732)
@@ -359,6 +359,11 @@
//! returns pointer to map legend
QgsLegend *legend();
+#if Q_OS_WIN
+ //! ugly hack
+ void skipNextContextMenuEvent();
+#endif
+
public slots:
//! Zoom to full extent
void zoomFull();
@@ -433,6 +438,9 @@
//! reimplements widget keyPress event so we can check if cancel was pressed
virtual void keyPressEvent( QKeyEvent * event );
+ //! reimplements context menu event
+ virtual void contextMenuEvent( QContextMenuEvent *event );
+
private slots:
//! About QGis
void about();
@@ -1117,6 +1125,10 @@
int mLastComposerId;
+#ifdef Q_OS_WIN
+ int mSkipNextContextMenuEvent; // ugly hack
+#endif
+
#ifdef HAVE_QWT
//! Persistent GPS toolbox
QgsGPSInformationWidget * mpGpsWidget;
Modified: trunk/qgis/src/app/qgsmaptooladdfeature.cpp
===================================================================
--- trunk/qgis/src/app/qgsmaptooladdfeature.cpp 2010-06-14 14:18:01 UTC (rev 13731)
+++ trunk/qgis/src/app/qgsmaptooladdfeature.cpp 2010-06-14 16:11:20 UTC (rev 13732)
@@ -31,6 +31,10 @@
#include <QMouseEvent>
#include <QSettings>
+#ifdef Q_OS_WIN
+#include <qgisapp.h>
+#endif
+
QgsMapToolAddFeature::QgsMapToolAddFeature( QgsMapCanvas* canvas, CaptureMode tool ): QgsMapToolCapture( canvas, tool )
{
@@ -482,6 +486,11 @@
vlayer->endEditCommand();
}
mypDialog->deleteLater();
+
+#ifdef Q_OS_WIN
+ // hope your wearing your peril sensitive sunglasses.
+ QgisApp::instance()->skipNextContextMenuEvent();
+#endif
}
delete f;
More information about the QGIS-commit
mailing list