Exemplo n.º 1
0
bool EventFilter::eventFilter(QObject *, QEvent *event) {
    bool ret_val=false;
    if ( event->type() == QEvent::KeyPress) {
        QKeyEvent *ke = static_cast<QKeyEvent*>(event);
        if ( ke->modifiers() == Qt::ControlModifier && ke->key() == Qt::Key_Return) {
            doSend->animateClick();
            ret_val= true;
        }
    }
    return ret_val;

}
Exemplo n.º 2
0
void QObjectProxy::interpretKeyEvent( QEvent *e, QList<QVariant> &args )
{
  QKeyEvent *ke = static_cast<QKeyEvent*>( e );

  QString text = ke->text();
  int unicode = ( text.count() == 1 ? text[0].unicode() : 0 );

  args << text;
  args << (int) ke->modifiers();
  args << unicode;
  args << ke->key();
}
Exemplo n.º 3
0
bool FancyLineEdit::event(QEvent *e) {
    // workaround for QTCREATORBUG-9453
    if (e->type() == QEvent::ShortcutOverride && completer()
            && completer()->popup() && completer()->popup()->isVisible()) {
        QKeyEvent *ke = static_cast<QKeyEvent *>(e);
        if (ke->key() == Qt::Key_Escape && !ke->modifiers()) {
            ke->accept();
            return true;
        }
    }
    return QLineEdit::event(e);
}
bool FilterObject::eventFilter(QObject *, QEvent *event)
{
    if (event->type() == QEvent::KeyPress) {
        QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);
        if (keyEvent->key() == Qt::Key_Z && (keyEvent->modifiers() == Qt::ControlModifier || keyEvent->modifiers() == (Qt::ControlModifier | Qt::ShiftModifier))) {
            // Special undo / redo handling
            return true;
        } else
            return false;
    }
    return false;
}
Exemplo n.º 5
0
bool ChatbarTextEdit::event(QEvent *evt) {
	if (evt->type() == QEvent::ShortcutOverride) {
		return false;
	}

	if (evt->type() == QEvent::KeyPress) {
		QKeyEvent *kev = static_cast<QKeyEvent*>(evt);
		if ((kev->key() == Qt::Key_Enter || kev->key() == Qt::Key_Return) && !(kev->modifiers() & Qt::ShiftModifier)) {
			g.mw->sendChatbarMessage();
			return true;
		}
		if (kev->key() == Qt::Key_Tab) {
			emit tabPressed();
			return true;
		} else if (kev->key() == Qt::Key_Space && kev->modifiers() == Qt::ControlModifier) {
			emit ctrlSpacePressed();
			return true;
		}
	}
	return QTextEdit::event(evt);
}
Exemplo n.º 6
0
bool
AboutDlg::event(QEvent *event)
{
    if (event->type() == QEvent::ShortcutOverride) {
        QKeyEvent *ke = static_cast<QKeyEvent *>(event);
        if (ke->key() == Qt::Key_Escape && !ke->modifiers()) {
            ke->accept();
            return true;
        }
    }
    return QDialog::event(event);
}
Exemplo n.º 7
0
bool PosVelEffView::eventFilter(QObject *object, QEvent *event)
{
	if(event->type() == QEvent::KeyPress)
	{
		QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
		
		if(keyEvent->key() == Qt::Key_Z && keyEvent->modifiers() == Qt::ControlModifier) // Undo
		{
			if(effortSpin->hasFocus())
			{
				ROS_INFO("Ctrl + Z on effort");
				
				double effort = effortHistory->rollBack();
				
				if(effort == -999)
					return false;
				
				effortSpin->setValue(effort);
				effortHistory->setRecorded(true);
			}
			else if(positionSpin->hasFocus() || positionSlider->hasFocus())
			{
				ROS_INFO("Ctrl + Z on position");
				
				double position = positionHistory->rollBack();
				
				if(position == -999)
					return false;
				
				positionSpin->setValue(position);
				positionHistory->setRecorded(true);
			}
			else if(velocitySpin->hasFocus())
			{
				double velocity = velocityHistory->rollBack();
				
				if(velocity == -999)
					return false;
				
				velocitySpin->setValue(velocity);
				velocityHistory->setRecorded(true);
			}
		}
	}
	
    if(event->type() == QEvent::Wheel) // Ignore wheel scrolling
	{
		if(object == positionSlider || object == positionSpin || object == effortSpin || object == velocitySpin)
			return true;
    }
    
    return false;
}
Exemplo n.º 8
0
void EWAUserAction::execute( QWebView *webViewPtr ) const
{
    if( !webViewPtr )
    {
        return;
    }
    
    //EWAWebView *pEwaWebView = qobject_cast<EWAWebView*>( webViewPtr );
    //bool bNeedSetFocus = false;
    QEvent *pEventCopy = 0;
    
    if( isMouseEvent( m_pEvent->type() ) )
    {
        QMouseEvent *pSrcMouseEvent = static_cast<QMouseEvent *>( m_pEvent );
        
        QPoint clickCoords = pSrcMouseEvent->pos();
        
        pEventCopy = new QMouseEvent( 
            pSrcMouseEvent->type(), 
            clickCoords, 
            webViewPtr->mapToGlobal( clickCoords ), 
            pSrcMouseEvent->button(), 
            pSrcMouseEvent->buttons(),
            pSrcMouseEvent->modifiers() );
        
        
    }
    
    else if( isKeyEvent( m_pEvent->type() ) )
    {
        QKeyEvent *pSrcKeyEvent = static_cast<QKeyEvent*>( m_pEvent );
        
        pEventCopy = new QKeyEvent( 
            pSrcKeyEvent->type(), 
            pSrcKeyEvent->key(), 
            pSrcKeyEvent->modifiers(),
            pSrcKeyEvent->text(), 
            pSrcKeyEvent->isAutoRepeat(), 
            pSrcKeyEvent->count() );
    }
     
     if( pEventCopy )
     {
        QSize dstSz = getWebViewSize();
        if( webViewPtr->page()->preferredContentsSize() != dstSz )
        {
            webViewPtr->page()->setPreferredContentsSize( dstSz );
        }
        
        EWAApplication::postEvent( webViewPtr, pEventCopy );
     }
}
Exemplo n.º 9
0
bool WebPage::event(QEvent *ev)
{
    QMouseEvent* mouseEvent = NULL;
    QWheelEvent* wheelEvent = NULL;
    QKeyEvent* keyEvent = NULL;
    
    QByteArray byteArray;
    QBuffer buffer(&byteArray);
    buffer.open(QIODevice::ReadWrite);

    QDataStream out(&buffer);

    out << (int) ev->type();
    
    switch (ev->type()) {
    case QEvent::MouseMove:
    case QEvent::MouseButtonPress:
    case QEvent::MouseButtonDblClick:
    case QEvent::MouseButtonRelease:
        if (OPNET::OpNetwork::instance()->isReplay() || OPNET::OpNetwork::instance()->isReplica())
            return false;
        mouseEvent = (static_cast<QMouseEvent*>(ev));
        out << mouseEvent->pos() << mouseEvent->globalPos()
            << (int) mouseEvent->button() << (int) mouseEvent->buttons()
            << (int) mouseEvent->modifiers();
        OPNET::OpNetwork::instance()->sendSysCall(MSG_LOG_USER_INPUT, (int) ev->type(), byteArray);
        break;
    case QEvent::Wheel:
        if (OPNET::OpNetwork::instance()->isReplay() || OPNET::OpNetwork::instance()->isReplica())
            return false;;
        wheelEvent = (static_cast<QWheelEvent*>(ev));
        out << wheelEvent->pos() << wheelEvent->globalPos()
            << wheelEvent->delta() << (int) wheelEvent->buttons()
            << (int) wheelEvent->modifiers() << (int) wheelEvent->orientation();
        OPNET::OpNetwork::instance()->sendSysCall(MSG_LOG_USER_INPUT, (int) ev->type(), byteArray);
        break;
    case QEvent::KeyPress:
    case QEvent::KeyRelease:
        if (OPNET::OpNetwork::instance()->isReplay() || OPNET::OpNetwork::instance()->isReplica())
            return false;
        keyEvent = (static_cast<QKeyEvent*>(ev));
        out << keyEvent->key() << (int) keyEvent->modifiers()
            << keyEvent->text() << keyEvent->isAutoRepeat()
            << (int) keyEvent->count();
        OPNET::OpNetwork::instance()->sendSysCall(MSG_LOG_USER_INPUT, (int) ev->type(), byteArray);
        break;
    default:
        break;
    }

    return QWebPage::event(ev);
}
Exemplo n.º 10
0
bool ChatbarLineEdit::event(QEvent *event) {
	if (event->type() == QEvent::KeyPress) {
		QKeyEvent *kev = static_cast<QKeyEvent*>(event);
		if (kev->key() == Qt::Key_Tab) {
			emit tabPressed();
			return true;
		} else if (kev->key() == Qt::Key_Space && kev->modifiers() == Qt::ControlModifier) {
			emit ctrlSpacePressed();
			return true;
		}
	}
	return QLineEdit::event(event);
}
Exemplo n.º 11
0
bool LegacyJarModPage::eventFilter(QObject *obj, QEvent *ev)
{
	if (ev->type() != QEvent::KeyPress || obj != ui->jarModsTreeView)
	{
		return QWidget::eventFilter(obj, ev);
	}

	QKeyEvent *keyEvent = static_cast<QKeyEvent *>(ev);
	switch (keyEvent->key())
	{
	case Qt::Key_Up:
	{
		if (keyEvent->modifiers() & Qt::ControlModifier)
		{
			on_moveJarUpBtn_clicked();
			return true;
		}
		break;
	}
	case Qt::Key_Down:
	{
		if (keyEvent->modifiers() & Qt::ControlModifier)
		{
			on_moveJarDownBtn_clicked();
			return true;
		}
		break;
	}
	case Qt::Key_Delete:
		on_rmJarBtn_clicked();
		return true;
	case Qt::Key_Plus:
		on_addJarBtn_clicked();
		return true;
	default:
		break;
	}
	return QWidget::eventFilter(obj, ev);
}
Exemplo n.º 12
0
// Need to override default Ctrl+C action for amount as default behaviour is just to copy DisplayRole text
bool TransactionView::eventFilter(QObject *obj, QEvent *event)
{
    if (event->type() == QEvent::KeyPress)
    {
        QKeyEvent *ke = static_cast<QKeyEvent *>(event);
        if (ke->key() == Qt::Key_C && ke->modifiers().testFlag(Qt::ControlModifier))
        {
             GUIUtil::copyEntryData(transactionView, 0, TransactionTableModel::TxPlainTextRole);
             return true;
        }
    }
    return QWidget::eventFilter(obj, event);
}
Exemplo n.º 13
0
bool CSVDoc::SubView::event (QEvent *event)
{
    if (event->type()==QEvent::ShortcutOverride)
    {
        QKeyEvent *keyEvent = static_cast<QKeyEvent *> (event);

        if (keyEvent->key()==Qt::Key_W && keyEvent->modifiers()==(Qt::ShiftModifier | Qt::ControlModifier))
            emit closeRequest();
            return true;
    }

    return QDockWidget::event (event);
}
Exemplo n.º 14
0
bool PlainTextEditor::event( QEvent* event )
{
    if ( event->type() == QEvent::KeyPress ) {
        QKeyEvent* ke = static_cast<QKeyEvent*>( event );
        const bool isBackTab =
                ( ke->key() == Qt::Key_Backtab && ( ke->modifiers() == Qt::NoModifier || ke->modifiers() == Qt::ShiftModifier ) ) ||
                ( ke->key() == Qt::Key_Tab && ke->modifiers() == Qt::ShiftModifier )
        ;
        const bool isTab = ke->key() == Qt::Key_Tab && ke->modifiers() == Qt::NoModifier;

        if ( isTab ) {
            onTabKey( ke );
            return true;
        }
        else if ( isBackTab ) {
            onShiftTabKey( ke );
            return true;
        }
    }

    return QPlainTextEdit::event( event );
}
Exemplo n.º 15
0
bool TextMessage::eventFilter(QObject *obj, QEvent *evt) {
	if (obj != rteMessage)
		return false;
	if (evt->type() == QEvent::KeyPress) {
		QKeyEvent *keyEvent = static_cast<QKeyEvent *>(evt);
		if (((keyEvent->key() == Qt::Key_Enter) || (keyEvent->key() == Qt::Key_Return)) &&
		        (keyEvent->modifiers() == Qt::NoModifier)) {
			accept();
			return true;
		}
	}
	return false;
}
Exemplo n.º 16
0
QString KisTabletDebugger::eventToString(const QKeyEvent &ev, const QString &prefix)
{
    QString string;
    QTextStream s(&string);

    dumpBaseParams(s, ev, prefix);

    s << "key: 0x" << hex << ev.key() << reset << " ";
    s << "mod: 0x" << hex << ev.modifiers() << reset << " ";
    s << "text: " << (ev.text().isEmpty() ? "none" : ev.text());

    return string;
}
Exemplo n.º 17
0
void CharmWindow::keyPressEvent( QKeyEvent* event )
{
    if ( event->type() == QEvent::KeyPress ) {
        QKeyEvent *keyEvent = static_cast<QKeyEvent*>( event );
        if ( keyEvent->modifiers() & Qt::ControlModifier
             && keyEvent->key() == Qt::Key_W
             && isVisible() ) {
            showHideView();
            return;
        }
    }
    QMainWindow::keyPressEvent( event );
}
Exemplo n.º 18
0
bool OptionsPopup::eventFilter(QObject *obj, QEvent *ev)
{
    QCheckBox *checkbox = qobject_cast<QCheckBox *>(obj);
    if (ev->type() == QEvent::KeyPress && checkbox) {
        QKeyEvent *ke = static_cast<QKeyEvent *>(ev);
        if (!ke->modifiers() && (ke->key() == Qt::Key_Enter || ke->key() == Qt::Key_Return)) {
            checkbox->click();
            ev->accept();
            return true;
        }
    }
    return QWidget::eventFilter(obj, ev);
}
Exemplo n.º 19
0
bool MultiLineEdit::event(QEvent *e)
{
    // We need to make sure that global shortcuts aren't eaten
    if (e->type() == QEvent::ShortcutOverride) {
        QKeyEvent *event = static_cast<QKeyEvent *>(e);
        QKeySequence key = QKeySequence(event->key() | event->modifiers());
        foreach(QAction *action, GraphicalUi::actionCollection()->actions()) {
            if (action->shortcuts().contains(key)) {
                e->ignore();
                return false;
            }
        }
    }
Exemplo n.º 20
0
bool ChatWidget::eventFilter(QObject *obj, QEvent *event)
{
	if (obj == ui->chatTextEdit) {
		if (event->type() == QEvent::KeyPress) {
			updateStatusTyping();

			QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
			if (keyEvent && (keyEvent->key() == Qt::Key_Enter || keyEvent->key() == Qt::Key_Return)) {
				// Enter pressed
				if (Settings->getChatSendMessageWithCtrlReturn()) {
					if (keyEvent->modifiers() & Qt::ControlModifier) {
						// send message with Ctrl+Enter
						sendChat();
						return true; // eat event
					}
				} else {
					if (keyEvent->modifiers() & Qt::ControlModifier) {
						// insert return
						ui->chatTextEdit->textCursor().insertText("\n");
					} else {
						// send message with Enter
						sendChat();
					}
					return true; // eat event
				}
			}
		}
	} else {
		if (event->type() == QEvent::WindowActivate) {
			if (isVisible() && (window() == NULL || window()->isActiveWindow())) {
				newMessages = false;
				emit infoChanged(this);
				focusDialog();
			}
		}
	}
	// pass the event on to the parent class
	return QWidget::eventFilter(obj, event);
}
bool GoBackActionWidget::eventFilter(QObject *object, QEvent *event)
{
	if (event->type() == QEvent::ContextMenu)
	{
		QContextMenuEvent *contextMenuEvent = dynamic_cast<QContextMenuEvent*>(event);

		if (contextMenuEvent)
		{
			QAction *action = menu()->activeAction();

			if (action && action->data().type() == QVariant::Int)
			{
				QMenu contextMenu(menu());
				QAction *removeEntryAction = contextMenu.addAction(tr("Remove Entry"), NULL, NULL, QKeySequence(Qt::Key_Delete));
				QAction *purgeEntryAction = contextMenu.addAction(tr("Purge Entry"), NULL, NULL, QKeySequence(Qt::ShiftModifier | Qt::Key_Delete));
				QAction *selectedAction = contextMenu.exec(contextMenuEvent->globalPos());

				if (selectedAction == removeEntryAction)
				{
					menu()->close();

					getWindow()->getContentsWidget()->removeHistoryIndex(action->data().toInt());
				}
				else if (selectedAction == purgeEntryAction)
				{
					menu()->close();

					getWindow()->getContentsWidget()->removeHistoryIndex(action->data().toInt(), true);
				}
			}
		}
	}
	else if (event->type() == QEvent::KeyPress)
	{
		QKeyEvent *keyEvent = dynamic_cast<QKeyEvent*>(event);

		if (keyEvent && keyEvent->key() == Qt::Key_Delete && getWindow())
		{
			QAction *action = menu()->activeAction();

			if (action && action->data().type() == QVariant::Int)
			{
				menu()->close();

				getWindow()->getContentsWidget()->removeHistoryIndex(action->data().toInt(), keyEvent->modifiers().testFlag(Qt::ShiftModifier));
			}
		}
	}

	return QObject::eventFilter(object, event);
}
Exemplo n.º 22
0
bool EventFilter::eventFilter(QObject* watched, QEvent* event)
{
  SystemComponent& system = SystemComponent::Get();

  // ignore mouse events if mouse is disabled
  if  (SettingsComponent::Get().value(SETTINGS_SECTION_MAIN, "disablemouse").toBool() &&
       ((event->type() == QEvent::MouseMove) ||
        (event->type() == QEvent::MouseButtonPress) ||
        (event->type() == QEvent::MouseButtonRelease) ||
        (event->type() == QEvent::MouseButtonDblClick)))
  {
    return true;
  }

  if (event->type() == QEvent::KeyPress)
  {
    // In konvergo we intercept all keyboard events and translate them
    // into web client actions. We need to do this so that we can remap
    // keyboard buttons to different events.
    //
    QKeyEvent* kevent = dynamic_cast<QKeyEvent*>(event);
    if (kevent)
    {
      system.setCursorVisibility(false);
      if (kevent->spontaneous())
      {
        // We ignore the KeypadModifier here since it's practically useless
        QKeySequence key(kevent->key() | (kevent->modifiers() &= ~Qt::KeypadModifier));
        InputKeyboard::Get().keyPress(key);
        return true;
      }
    }
  }
  else if (event->type() == QEvent::MouseMove)
  {
    system.setCursorVisibility(true);
  }
  else if (event->type() == QEvent::Wheel)
  {
    return true;
  }
  else if (event->type() == QEvent::MouseButtonPress)
  {
    // ignore right clicks that would show context menu
    QMouseEvent *mouseEvent = dynamic_cast<QMouseEvent*>(event);
    if ((mouseEvent) && (mouseEvent->button() == Qt::RightButton))
      return true;
  }

  return QObject::eventFilter(watched, event);
}
bool HelpBrowserFindBox::event( QEvent * event )
{
    switch(event->type()) {
    case QEvent::ShortcutOverride:
    {
        QKeyEvent *kevent = static_cast<QKeyEvent*>(event);
        if (kevent->key() == Qt::Key_Escape) {
            event->accept();
            return true;
        }
        if (kevent->key() == Qt::Key_W && (kevent->modifiers() & Qt::CTRL)) {
            MainWindow::instance()->helpBrowserDocklet()->close();
            event->accept();
            return true;
        }
    }
    case QEvent::KeyPress:
    {
        QKeyEvent *kevent = static_cast<QKeyEvent*>(event);
        switch (kevent->key()) {
        case Qt::Key_Return:
        case Qt::Key_Enter: {
            bool backwards = kevent->modifiers() & Qt::ShiftModifier;
            emit query( text(), backwards );
            return true;
        }
        case Qt::Key_Escape:
            clear();
        default:
            break;
        }
    }
    default:
        break;
    }

    return QLineEdit::event(event);
}
Exemplo n.º 24
0
bool KviMdiManager::eventFilter(QObject *obj, QEvent *event)
{
	if(
		(
			(event->type() == QEvent::KeyPress) ||
			(event->type() == QEvent::KeyRelease)
		) &&
		m_bInSDIMode
	)
	{
		QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);
		if (	(keyEvent->modifiers() & Qt::MetaModifier) ||
			(keyEvent->modifiers() & Qt::ControlModifier)
		)
		{
			// While in sdi mode, avoid qt4's internal window switching
			if(keyEvent->key() == Qt::Key_Tab)
			{
				if(event->type() == QEvent::KeyRelease) g_pMainWindow->switchToNextWindow();
				return true;
			}
			if(keyEvent->key() == Qt::Key_Backtab)
			{
				if(event->type() == QEvent::KeyRelease) g_pMainWindow->switchToPrevWindow();
				return true;
			}
		}
	} else {
		/*
		 * Filter out some (de)activation events from the QMdiArea handling
	         * this fixed #425 and #519 (unwanted mdichild activation when KviMainWindow is not the active window)
		 */
		if(	event->type() == QEvent::ApplicationActivate ||
			event->type() == QEvent::ApplicationDeactivate
		) return true;
	}
	return QMdiArea::eventFilter(obj, event);
}
Exemplo n.º 25
0
 bool PropertyLineEdit::event(QEvent *e)
 {
     // handle 'Select all' here as it is not done in the QLineEdit
     if (e->type() == QEvent::ShortcutOverride && !isReadOnly()) {
         QKeyEvent* ke = static_cast<QKeyEvent*> (e);
         if (ke->modifiers() & Qt::ControlModifier) {
             if(ke->key() == Qt::Key_A) {
                 ke->accept();
                 return true;
             }
         }
     }
     return QLineEdit::event(e);
 }
Exemplo n.º 26
0
bool ShortcutView::eventFilter(QObject*, QEvent* event) {
    if (event->type() == QEvent::KeyPress) {
        QKeyEvent* keyEvent = static_cast<QKeyEvent*>(event);
        if (keyEvent->key() != Qt::Key_Tab && keyEvent->key() != Qt::Key_Backtab) {
            return false;
        }
        if (!(keyEvent->modifiers() & ~Qt::ShiftModifier)) {
            m_ui.keySequenceEdit->setKeySequence(ShortcutController::keyEventToSequence(keyEvent));
            keyEvent->accept();
            return true;
        }
    }
    return false;
}
Exemplo n.º 27
0
bool MainWindow::eventFilter(QObject *obj, QEvent *e)
{
    Q_ASSERT(obj == inputTextEdit);
    if (e->type() == QEvent::KeyPress)
    {
        QKeyEvent *event = static_cast<QKeyEvent*>(e);
        if (event->key() == Qt::Key_Return && (event->modifiers() & Qt::ControlModifier))
        {
            sendMsg();
            return true;
        }
    }
    return false;
}
bool PersonalMessageWidget::eventFilter(QObject* watched, QEvent* evt) {
	if(watched == &mInputText) {
		if(evt->type() == QEvent::KeyPress) {
			QKeyEvent* keyEvt = (QKeyEvent*)evt;	
			if(keyEvt->key() == Qt::Key_Return) {
				if((keyEvt->modifiers() &= Qt::ShiftModifier) == false) {
					send();
					return true;
				}
			}
		}
	}
	return false;
}
void
DBusInputContextConnection::sendKeyEvent(const QKeyEvent &keyEvent,
                                         Maliit::EventRequestType requestType)
{
    if (activeConnection) {
        MInputContextConnection::sendKeyEvent(keyEvent, requestType);

        ComMeegoInputmethodInputcontext1Interface *proxy = mProxys.value(activeConnection);
        if (proxy) {
            proxy->keyEvent(keyEvent.type(), keyEvent.key(), keyEvent.modifiers(),
                            keyEvent.text(), keyEvent.isAutoRepeat(), keyEvent.count(), requestType);
        }
    }
}
Exemplo n.º 30
0
/*!
  Se capturará un caso particular: El botón "." del teclado numérico, trasladando ese teclado,
  si el sistema está asi configurado al separador de decimales por defecto del sistema
  */
bool DBNumberEditKeyPressEater::eventFilter(QObject *obj, QEvent *event)
{
	if (event->type() == QEvent::KeyPress) {
		QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);
		if ( ( keyEvent->modifiers() & Qt::KeypadModifier && keyEvent->text() == "." &&
			   configuracion.getLocale()->decimalPoint() != '.' ) ) {
			QKeyEvent *ev = new QKeyEvent(QEvent::KeyPress, Qt::Key_Comma, 0, configuracion.getLocale()->decimalPoint());
			QApplication::sendEvent(parent(), ev);
			return true;
		}
	}
	// standard event processing
	return QObject::eventFilter(obj, event);
}