diff --git a/pqAbstractButtonEventTranslator.cxx b/pqAbstractButtonEventTranslator.cxx index c7c023f6c10ca45edd148224909ed4d97413955a..eff6f98285945cd9494161c5b7200f7e975225fd 100644 --- a/pqAbstractButtonEventTranslator.cxx +++ b/pqAbstractButtonEventTranslator.cxx @@ -45,6 +45,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. pqAbstractButtonEventTranslator::pqAbstractButtonEventTranslator(QObject* p) : pqWidgetEventTranslator(p) { + this->LastMouseEvent = 0; } bool pqAbstractButtonEventTranslator::translateEvent(QObject* Object, QEvent* Event, bool& /*Error*/) @@ -52,7 +53,6 @@ bool pqAbstractButtonEventTranslator::translateEvent(QObject* Object, QEvent* Ev QAbstractButton* const object = qobject_cast(Object); if(!object) return false; - switch(Event->type()) { case QEvent::KeyPress: @@ -67,6 +67,7 @@ bool pqAbstractButtonEventTranslator::translateEvent(QObject* Object, QEvent* Ev case QEvent::MouseButtonPress: { QMouseEvent* const e = static_cast(Event); + this->LastMouseEvent = e; QPushButton* pushButton = qobject_cast(object); if(pushButton && e->button() == Qt::LeftButton && @@ -87,17 +88,22 @@ bool pqAbstractButtonEventTranslator::translateEvent(QObject* Object, QEvent* Ev break; case QEvent::Timer: { - QToolButton* tButton = qobject_cast(object); - if(tButton && - tButton->popupMode() == QToolButton::DelayedPopup) + if (this->LastMouseEvent && + this->LastMouseEvent->type() == QEvent::MouseButtonPress) { - emit recordEvent(object, "longActivate", ""); + QToolButton* tButton = qobject_cast(object); + if(tButton && + tButton->popupMode() == QToolButton::DelayedPopup) + { + emit recordEvent(object, "longActivate", ""); + } } } break; case QEvent::MouseButtonRelease: { QMouseEvent* const e = static_cast(Event); + this->LastMouseEvent = e; if(e->button() == Qt::LeftButton && object->rect().contains(e->pos())) { onActivate(object); @@ -124,9 +130,12 @@ void pqAbstractButtonEventTranslator::onActivate(QAbstractButton* actualObject) const bool new_value = !actualObject->isChecked(); emit recordEvent(object, "set_boolean", new_value ? "true" : "false"); } - else if(tb && tb->actions().count() < 2) + else if(tb) { - emit recordEvent(tb, "activate", ""); + if (!tb->menu()) + { + emit recordEvent(tb, "activate", ""); + } } else { diff --git a/pqAbstractButtonEventTranslator.h b/pqAbstractButtonEventTranslator.h index 5baaf905f5982a08990293f687688c867668d0cf..48234bf0ab4813b52e5b7af3e5a79873abb00eba 100644 --- a/pqAbstractButtonEventTranslator.h +++ b/pqAbstractButtonEventTranslator.h @@ -33,6 +33,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #ifndef _pqAbstractButtonEventTranslator_h #define _pqAbstractButtonEventTranslator_h +// Qt includes +#include + #include "pqWidgetEventTranslator.h" class QAbstractButton; @@ -58,6 +61,8 @@ private: pqAbstractButtonEventTranslator& operator=(const pqAbstractButtonEventTranslator&); void onActivate(QAbstractButton*); + + QMouseEvent* LastMouseEvent; }; #endif // !_pqAbstractButtonEventTranslator_h diff --git a/pqEventDispatcher.cxx b/pqEventDispatcher.cxx index 2e358fa931c26bb2ad3ef03b75f6ddf19a40f03f..d57220659d352f046b29c9f44e84bb1e3b565728 100644 --- a/pqEventDispatcher.cxx +++ b/pqEventDispatcher.cxx @@ -155,7 +155,6 @@ void pqEventDispatcher::setTimeStep(int value) //----------------------------------------------------------------------------- void pqEventDispatcher::run(bool value) { - qDebug() << "Dispatcher" << value; this->PlayBackPaused = !value; if (value) { @@ -251,7 +250,6 @@ bool pqEventDispatcher::playEvents(pqEventSource& source, pqEventPlayer& player) QObject::disconnect(QAbstractEventDispatcher::instance(), SIGNAL(awake()), this, SLOT(awake())); - qDebug() << "About to Stop Dispatcher"; return this->PlayBackStatus; } diff --git a/pqTestUtility.cxx b/pqTestUtility.cxx index 0f944ad5b5a965840bbb49e07d938a6b2b4c620b..d5e4f2f5d31e53483eccf088293486a55cf83c9b 100644 --- a/pqTestUtility.cxx +++ b/pqTestUtility.cxx @@ -193,7 +193,6 @@ bool pqTestUtility::playTests(const QStringList& filenames) } this->PlayingTest = false; - qDebug() << "About to stop TestUtility"; emit this->stopped(); return success; }