// ctor and dtor Thread::Thread(Task *ptask): UCBaseObject(), handle_(nextHandle()), ptask_(ptask) { MustBeTrue(ptask_ != NULL); ::pthread_attr_init(&state_.attr_); setOk(true); }
Stepper* Model::createStepper( String const& aClassName ) { Stepper* retval( theStepperMaker.make( aClassName ) ); retval->setModel( this ); Handle nextHandle( generateNextHandle() ); theObjectMap.insert( std::make_pair( nextHandle, retval ) ); retval->setHandle( nextHandle ); return retval; }
Process* Model::createProcess( String const& aClassname ) { Process* retval( theProcessMaker.make( aClassname ) ); retval->setModel( this ); Handle nextHandle( generateNextHandle() ); theObjectMap.insert( std::make_pair( nextHandle, retval ) ); retval->setHandle( nextHandle ); return retval; }
bool KKbdAccessExtensions::eventFilter( QObject *o, QEvent *e ) { if ( e->type() == QEvent::KeyPress ) { // TODO: This permits only a single-key shortcut. For example, Alt+S,R would not work. // If user configures a multi-key shortcut, it is undefined what will happen here. // It would be better to handle these as KShortcut activate() signals, but the problem // is that once a QDockWindow is undocked and has focus, the KShortcut activate() signals // don't fire anymore. KShortcut fwdSc = d->fwdAction->shortcut(); KShortcut revSc = d->revAction->shortcut(); KShortcut accessKeysSc = d->accessKeysAction->shortcut(); QKeyEvent* kev = dynamic_cast<QKeyEvent *>(e); KKey k = KKey(kev); KShortcut sc = KShortcut(k); // kdDebug() << "KKbdAccessExtensions::eventFilter: Key press " << sc << endl; if (!d->accessKeyLabels) { if (sc == fwdSc) { nextHandle(); return true; } if (sc == revSc) { prevHandle(); return true; } } if (d->panel) { if (k == KKey(Key_Escape)) exitSizing(); else resizePanelFromKey(kev->key(), kev->state()); // Eat the key. return true; } if (sc == accessKeysSc && !d->panel) { if (d->accessKeyLabels) { delete d->accessKeyLabels; d->accessKeyLabels = 0; } else displayAccessKeys(); return true; } if (d->accessKeyLabels) { if (k == KKey(Key_Escape)) { delete d->accessKeyLabels; d->accessKeyLabels = 0; } else handleAccessKey(kev); return true; } return false; } else if (d->icon->isActive && e->type() == QEvent::MouseButtonPress) { exitSizing(); return true; } else if (d->accessKeyLabels && e->type() == QEvent::MouseButtonPress) { delete d->accessKeyLabels; d->accessKeyLabels = 0; return true; } /* else if (e->type() == QEvent::MouseMove && d->icon->isActive) { // Lock mouse cursor down. showIcon(); dynamic_cast<QMouseEvent *>(e)->accept(); return true; }*/ else if (e->type() == QEvent::MouseMove && d->icon->isActive && d->panel) { // Resize according to mouse movement. QMouseEvent* me = dynamic_cast<QMouseEvent *>(e); QSize s = d->icon->delta(); int dx = s.width(); int dy = s.height(); resizePanel(dx, dy, me->state()); me->accept(); showIcon(); return true; } else if (e->type() == QEvent::Resize && d->panel && o == d->panel) { // TODO: This doesn't always work. showIcon(); } return false; }