static SendCoinsRecipient handleRequest(PaymentServer* server, std::vector<unsigned char>& data) { RecipientCatcher sigCatcher; QObject::connect(server, SIGNAL(receivedPaymentRequest(SendCoinsRecipient)), &sigCatcher, SLOT(getRecipient(SendCoinsRecipient))); // Write data to a temp file: QTemporaryFile f; f.open(); f.write((const char*)data.data(), data.size()); f.close(); // Create a QObject, install event filter from PaymentServer // and send a file open event to the object QObject object; object.installEventFilter(server); QFileOpenEvent event(f.fileName()); // If sending the event fails, this will cause sigCatcher to be empty, // which will lead to a test failure anyway. QCoreApplication::sendEvent(&object, &event); QObject::disconnect(server, SIGNAL(receivedPaymentRequest(SendCoinsRecipient)), &sigCatcher, SLOT(getRecipient(SendCoinsRecipient))); // Return results from sigCatcher return sigCatcher.recipient; }
void QDesignerToolBar::installEventFilters( QWidget *w ) { if ( !w ) return; QObjectList *l = w->queryList( "QWidget" ); for ( QObject *o = l->first(); o; o = l->next() ) o->installEventFilter( this ); delete l; }
void ItemBackground::setTargetItem(QGraphicsItem *target) { if (d->target && d->target != target) { QObject *obj = 0; if (d->target->isWidget()) { obj = static_cast<QGraphicsWidget*>(d->target); obj->removeEventFilter(this); } else { d->target->removeSceneEventFilter(this); obj = dynamic_cast<QObject *>(d->target); } if (obj) { disconnect(obj, 0, this, 0); } } if (!target) { hide(); } bool newTarget = (d->target != target); d->target = target; if (target) { setZValue(target->zValue() - 1); if (parentItem() != target->parentItem()) { QTransform t = transform(); setTransform(QTransform()); QRectF geom = mapToScene(geometry()).boundingRect(); setGeometry(mapFromScene(geom).boundingRect()); setTransform(t); } QRectF rect = target->boundingRect(); rect.moveTopLeft(mapToParent(mapFromScene(target->mapToScene(QPointF(0, 0))))); setTarget(rect); if (newTarget) { QObject *obj = 0; if (target->isWidget()) { obj = static_cast<QGraphicsWidget*>(target); obj->installEventFilter(this); } else { d->target->installSceneEventFilter(this); obj = dynamic_cast<QObject *>(target); } if (obj) { connect(obj, SIGNAL(destroyed(QObject*)), this, SLOT(targetDestroyed(QObject*))); } } } }
co::int64 EventHub::installEventHandler( const qt::Object& watched, qt::IEventHandler* handler ) { QObject* obj = watched.get(); if( !isObjectFiltered( obj ) ) obj->installEventFilter( this ); // sets/replaces event handler for the object _filteredObjects[obj] = handler; return reinterpret_cast<co::int64>( obj ); }
QT_BEGIN_NAMESPACE PreviewWidget::PreviewWidget( QWidget *parent, const char *name ) : PreviewWidgetBase( parent, name ) { // install event filter on child widgets QObjectList l = queryList("QWidget"); for (int i = 0; i < l.size(); ++i) { QObject * obj = l.at(i); obj->installEventFilter(this); ((QWidget*)obj)->setFocusPolicy(Qt::NoFocus); } }
void TabView::installFocusFilters() { QObjectList *l = queryList("QWidget"); QObjectListIt it( *l ); QObject *obj; while ( (obj = it.current()) != 0 ) { ++it; if ( ((QWidget*)obj)->isFocusEnabled() ) obj->installEventFilter(this); } delete l; }
PreviewWidget::PreviewWidget( QWidget *parent, const char *name ) : PreviewWidgetBase( parent, name ) { // install event filter on child widgets QObjectList *l = queryList("QWidget"); QObjectListIt it(*l); QObject * obj; while ((obj = it.current()) != 0) { ++it; obj->installEventFilter(this); ((QWidget*)obj)->setFocusPolicy(NoFocus); } }
WndCancel::WndCancel(QWidget *_w) : QObject(_w, "cancel") { w = _w; QObjectList *l = w->queryList("QWidget"); QObjectListIt it( *l ); QObject *obj; while ( (obj = it.current()) != 0 ) { ++it; obj->installEventFilter(this); } delete l; }
void PropertiesPalette_XYZ::installSniffer(ScrSpinBox *spinBox) { const QList<QObject*> list = spinBox->children(); if (!list.isEmpty()) { QListIterator<QObject*> it(list); QObject *obj; while (it.hasNext()) { obj = it.next(); obj->installEventFilter(userActionSniffer); } } }
void KisInputManager::Private::CanvasSwitcher::addCanvas(KisCanvas2 *canvas) { QObject *canvasWidget = canvas->canvasWidget(); if (!canvasResolver.contains(canvasWidget)) { canvasResolver.insert(canvasWidget, canvas); d->q->setupAsEventFilter(canvasWidget); canvasWidget->installEventFilter(this); d->canvas = canvas; d->toolProxy = dynamic_cast<KisToolProxy*>(canvas->toolProxy()); } else { KIS_ASSERT_RECOVER_RETURN(d->canvas == canvas); } }
/*! \brief En/disable the magnifier When enabled is true an event filter is installed for the observed widget, otherwise the event filter is removed. \param on true or false \sa isEnabled(), eventFilter() */ void QwtMagnifier::setEnabled( bool on ) { if ( d_data->isEnabled != on ) { d_data->isEnabled = on; QObject *o = parent(); if ( o ) { if ( d_data->isEnabled ) o->installEventFilter( this ); else o->removeEventFilter( this ); } } }
void medViewEventFilter::installOnView( medAbstractView * view ) { if ( !view ) { dtkWarn() << "medViewEventFilter::installOnView : View is NULL"; return; } if (m_views.contains(view)) { dtkWarn() << "Installing View when it has already been installed"; return; } QObject * filterObj = medViewEventFilter::objectToFilter(view); m_views.insert(view); m_filterObjToView[filterObj] = view; filterObj->installEventFilter( this ); connect(view, SIGNAL(destroyed(QObject*)), this, SLOT(onViewDestroyed(QObject*))); }
RKFunctionArgHinter::RKFunctionArgHinter (RKScriptContextProvider *provider, Kate::View* view) { RK_TRACE (COMMANDEDITOR); RKFunctionArgHinter::provider = provider; RKFunctionArgHinter::view = view; const QObjectList *children = view->children (); QObjectListIt it (*children); QObject *obj; while ((obj = it.current()) != 0) { ++it; obj->installEventFilter (this); } arghints_popup = new QVBox (0, 0, WType_Popup); arghints_popup->setFrameStyle (QFrame::Box | QFrame::Plain); arghints_popup->setLineWidth (1); arghints_popup_text = new QLabel (arghints_popup); arghints_popup->hide (); arghints_popup->setFocusProxy (view); }
/* Overloading the AbstractController one, because we don't manage the Spacing items in the same ways */ void DroppingController::createAndAddWidget( QBoxLayout *newControlLayout, int i_index, buttonType_e i_type, int i_option ) { /* Special case for SPACERS, who aren't QWidgets */ if( i_type == WIDGET_SPACER || i_type == WIDGET_SPACER_EXTEND ) { QLabel *label = new QLabel( this ); label->setPixmap( ImageHelper::loadSvgToPixmap( ":/toolbar/space.svg", height(), height() ) ); if( i_type == WIDGET_SPACER_EXTEND ) { label->setSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::Preferred ); /* Create a box around it */ label->setFrameStyle( QFrame::Panel | QFrame::Sunken ); label->setLineWidth ( 1 ); label->setAlignment( Qt::AlignCenter ); } else label->setSizePolicy( QSizePolicy::Fixed, QSizePolicy::Preferred ); /* Install event Filter for drag'n drop */ label->installEventFilter( this ); newControlLayout->insertWidget( i_index, label ); } /* Normal Widgets */ else { QWidget *widg = createWidget( i_type, i_option ); if( !widg ) return; /* Install the Event Filter in order to catch the drag */ widg->setParent( this ); widg->installEventFilter( this ); /* We are in a complex widget, we need to stop events on children too */ if( i_type >= TIME_LABEL && i_type < SPECIAL_MAX ) { QList<QObject *>children = widg->children(); QObject *child; foreach( child, children ) { QWidget *childWidg; if( ( childWidg = qobject_cast<QWidget *>( child ) ) ) { child->installEventFilter( this ); childWidg->setEnabled( true ); } } /* Decorating the frames when possible */ QFrame *frame; if( (i_type >= MENU_BUTTONS || i_type == TIME_LABEL) /* Don't bother to check for volume */ && ( frame = qobject_cast<QFrame *>( widg ) ) != NULL ) { frame->setFrameStyle( QFrame::Panel | QFrame::Raised ); frame->setLineWidth ( 1 ); } }
RKConsole::RKConsole () : QWidget (0) { RK_TRACE (APP); QVBoxLayout *layout = new QVBoxLayout (this); // create a Kate-part as command-editor #if !KDE_IS_VERSION (3, 2, 0) doc = static_cast<Kate::Document *> (KTextEditor::createDocument ("libkatepart", this, "Kate::Document")); view = static_cast<Kate::View *> (doc->createView (this)); # else doc = Kate::document (KTextEditor::createDocument ("libkatepart", this, "Kate::Document")); RK_ASSERT (doc); view = Kate::view (doc->createView (this)); RK_ASSERT (view); #endif layout->addWidget (view); view->setDynWordWrap (false); setFocusProxy (view); setFocusPolicy (QWidget::StrongFocus); /* We need to unplug kactions that were pluged to the KateViewInternal in kateview.cpp. These actions incluse Key_Up, Key_Down, etc. It's a bit boring to do, but there is no way to do that another way yet. Apparently, things will be different in KDE 4.*/ const QObjectList *list = view->children (); QObjectListIt it (*list); QObject *obj; KActionCollection* ac=0; QWidget* Kvi=0; //here we store the KateViewInternal of the view, so we can uplug actions from it while ((obj = it.current()) != 0) { ++it; obj->installEventFilter (this); if (obj->inherits("KActionCollection")) { ac= (KActionCollection*) obj; } else if(obj->inherits("KateViewInternal")) { Kvi= (QWidget*) obj; } } if (ac) { unplugAction("move_line_up", ac); unplugAction("move_line_down", ac); unplugAction("move_cusor_left", ac); unplugAction("beginning_of_line", ac); unplugAction("backspace", ac); unplugAction("delete_next_character", ac); unplugAction("beginning_of_document", ac); unplugAction("select_beginning_of_line", ac); unplugAction("select_char_left", ac); unplugAction("word_left", ac); //TODO deal with that one unplugAction("select_word_left", ac); //TODO deal with that one unplugAction("select_beginning_of_document", ac); unplugAction("select_end_of_document", ac); unplugAction("select_line_up", ac); unplugAction("select_line_down", ac); unplugAction("select_page_up", ac); unplugAction("move_top_of_view", ac); unplugAction("select_top_of_view", ac); unplugAction("select_page_down", ac); unplugAction("move_bottom_of_view", ac); unplugAction("select_bottom_of_view", ac); unplugAction("to_matching_bracket", ac); unplugAction("select_matching_bracket", ac); unplugAction("paste", ac); } else { RK_DO (qDebug ("Could not retrieve the view's action collection"), APP, DL_WARNING); } view->focusProxy()->installEventFilter(this); view->installEventFilter(this); doc->setModified (false); hinter = new RKFunctionArgHinter (this, view); setCaption (i18n ("R Console")); part = new RKConsolePart (this); initializeActions (part->actionCollection ()); nprefix = "> "; iprefix = "+ "; prefix = nprefix; command_incomplete = false; output_continuation = false; doc->setUndoSteps (0); clear (); setRHighlighting (); commands_history = RKSettingsModuleConsole::loadCommandHistory (); commands_history_position = commands_history.constEnd (); current_command = 0; tab_key_pressed_before = false; }