void CppRefType::remove(UmlClass * cl, QList<CppRefType> & l) { QListIterator<CppRefType> it(l); for (; it.current(); ++it) { if ((*it)->type.type == cl) { l.remove(it); return; } } }
void CppRefType::remove(const QCString & t, QList<CppRefType> & l) { QListIterator<CppRefType> it(l); for (; it.current(); ++it) { if ((*it)->type.explicit_type == t) { delete *it; l.remove(it); return; } } }
void lfpport_font_finalize() { MidpFont *f; #ifdef FV_USE_QT4 while((f = (MidpFont *)&fonts.at(0)) != NULL) { delete ((QFont *)f->fontPtr); fonts.removeAt(0); midpFree(f); } #else while((f = (MidpFont *)fonts.first()) != NULL) { delete ((QFont *)f->fontPtr); fonts.remove(); midpFree(f); } #endif }
void Server :: buildLocalPackages( Server *local ) { Package *curr; QListIterator<Package> it( packageList ); QList<Package> *locallist = &local->getPackageList(); for ( ; it.current(); ++it ) { curr = it.current(); QString name = curr->getPackageName(); // If the package name is an ipk name, then convert the filename to a package name if ( name.find( ".ipk" ) != -1 ) name = Utils::getPackageNameFromIpkFilename( curr->getFilename() ); if ( local ) { Package *p = local->getPackage( name ); curr->setLocalPackage( p ); if ( p ) { // Replace local version if ( curr->getVersion() > p->getVersion() ) { int pos = locallist->at(); locallist->remove( p ); locallist->insert( pos, curr ); } // Set some default stuff like size and things if ( p->getInstalledVersion() == curr->getVersion() ) { p->setPackageSize( curr->getPackageSize() ); p->setSection( curr->getSection() ); p->setDescription( curr->getDescription() ); } } } else curr->setLocalPackage( 0 ); } }
bool qapp::x11EventFilter(XEvent *event) { xwindow *client; Window w; XEvent ev; XConfigureRequestEvent *cev; XClientMessageEvent *mev; XCrossingEvent *xev; XCirculateRequestEvent *rev; XPropertyEvent *pev; #ifdef DEBUGMSG #include "eventnames.h" if(event->type < 36) logmsg << "Received: " << event_names[event->type] << " (WId:" << event->xany.window << ")\n"; #endif while(waitpid(-1, NULL, WNOHANG) > 0); if(sighup) { wm_restart(); tb_mn->readmenu(); read_cprops(); sighup = FALSE; } switch(event->type) { case DestroyNotify: w = event->xdestroywindow.window; if((client = cwindows.find(w)) != NULL) { clients.remove(client); if(smode && client->isstate()) keyboard::tscreen(); // turn off screen mode tb_pg->draw_pager(); return TRUE; } if(tb_ap->remove(w)) // client on toolbar return TRUE; if(event->xdestroywindow.event != w) return TRUE; if(w == tb->winId() || w == tb_pg->winId() || w == tb_wl->winId() || w == tb_mn->winId() || w == tb_pb->winId()) sig_term(SIGTERM); return FALSE; case MapNotify: if(event->xmap.event != event->xmap.window) return TRUE; if((client = pwindows.find(event->xmap.window)) != NULL) tb_pg->add(client); // add to pager return FALSE; case UnmapNotify: if((client = cwindows.find(event->xunmap.window)) != NULL) { if(event->xunmap.send_event) { // client requested transitions // normal -> withdrawn // iconic -> withdrawn client->withdraw(); } else client->unmap(); return TRUE; } if(event->xunmap.event != event->xunmap.window) return TRUE; if(pwindows.find(event->xunmap.window) != NULL) tb_pg->draw_pager(); return FALSE; case EnterNotify: xev = &event->xcrossing; if(event->xcrossing.window == qt_xrootwin()) { stopautofocus(); rootptr = TRUE; } else if(mrb == FALSE && menu_open == FALSE && (client = (xwindow *)widgetAt(xev->x_root, xev->y_root)) != NULL && clients.find(client) != -1 && ((client = clients.current()) != focusclient || rootptr)) { rootptr = FALSE; setinactive(client); // old client to inactive, save new client if(xev->detail != NotifyInferior) client->startautofocus(); client->setchildfocus(xev->time); client->setcmapfocus(); } return FALSE; case ColormapNotify: if((client = cwindows.find(event->xcolormap.window)) != NULL) { client->setcmap(event->xcolormap.colormap); return TRUE; } return FALSE; case PropertyNotify: pev = &event->xproperty; if((client = cwindows.find(pev->window)) != NULL) { if(pev->atom == XA_WM_NORMAL_HINTS) { client->get_wmnormalhints(); } else if(pev->atom == XA_WM_HINTS) { client->get_wmhints(); } else if(pev->atom == XA_WM_NAME || pev->atom == XA_WM_ICON_NAME) { client->get_wmname(); } else if(pev->atom == wm_colormaps) { client->get_colormaps(); if(client == focusclient) client->setcmapfocus(); } return TRUE; } return FALSE; case ConfigureNotify: if(event->xconfigure.event != event->xconfigure.window) return TRUE; if((client = pwindows.find(event->xconfigure.window)) != NULL) { tb_pg->draw_pager(); while(XCheckTypedEvent(qt_xdisplay(), ConfigureNotify, &ev)); } return TRUE; case ReparentNotify: if((client = cwindows.find(event->xreparent.window)) != NULL && event->xreparent.parent != client->winId()) { clients.remove(client); tb_pg->draw_pager(); } return TRUE; case ButtonPress: w = event->xbutton.window; if(w == qt_xrootwin()) // set focus to root window XSetInputFocus(qt_xdisplay(), w, RevertToPointerRoot, CurrentTime); if(w == tb->winId() || w == tb_pb->winId() || w == tb_ap->winId()) XRaiseWindow(qt_xdisplay(), tb->winId()); if(w == qt_xrootwin() || w == tb_pg->winId()) install_colormap(None); return FALSE; case FocusOut: if(menu_open) // Qt 2.2.4 does not seem to like this if a menu is open return TRUE; return FALSE; case ClientMessage: mev = &event->xclient; if(mev->message_type == wm_change_state && mev->format == 32 && mev->data.l[0] == IconicState && (client = cwindows.find(mev->window)) != NULL) client->iconify(); return TRUE; case CirculateRequest: rev = &event->xcirculaterequest; if(rev->place == PlaceOnTop) XRaiseWindow(qt_xdisplay(), rev->window); else XLowerWindow(qt_xdisplay(), rev->window); return TRUE; case ConfigureRequest: cev = &event->xconfigurerequest; XWindowChanges wc; if((client = cwindows.find(cev->window)) != NULL) { #ifdef DEBUGMSG logmsg << "configure request to client (WId:" << client->winId() << ")\n"; #endif if(cev->value_mask & (CWWidth|CWHeight|CWX|CWY)) { if(smode && client->isstate()) keyboard::tscreen(); if(! client->is_tiled() || client == tmaxclient) { int cx,cy,cw,ch; if(cev->value_mask & CWWidth) cw = cev->width; else cw = client->width(); if(cev->value_mask & CWHeight) ch = cev->height; else ch = client->getcheight(); if((cev->value_mask & CWX) && ! client->is_tiled()) cx = cev->x; else cx = client->x(); if((cev->value_mask & CWY) && ! client->is_tiled()) cy = cev->y; else cy = client->y(); client->resize_request(cx, cy, cw, ch); } cev->value_mask &= ~(CWWidth|CWHeight|CWX|CWY); } if(! cev->value_mask) return TRUE; wc.width = client->width(); wc.height = client->height(); wc.x = client->x(); wc.y = client->y(); wc.border_width = 0; wc.sibling = cev->above; wc.stack_mode = cev->detail; XConfigureWindow(qt_xdisplay(), client->winId(), cev->value_mask, &wc); send_configurenotify(client); } else // never mapped window { if(cev->window == tb->winId() || tb_ap->client_exists(cev->window)) // deny requests on toolbar return TRUE; #ifdef DEBUGMSG logmsg << "configure request to unreparented window (WId:" << cev->window << ")\n"; #endif wc.x = cev->x; wc.y = cev->y; wc.width = cev->width; wc.height = cev->height; cev->value_mask &= (CWX|CWY|CWWidth|CWHeight); XConfigureWindow(qt_xdisplay(), cev->window, cev->value_mask, &wc); } return TRUE; case MapRequest: run_client(event->xmaprequest.window); return TRUE; case KeyPress: return(keyboard::keypress(&event->xkey)); default: if(servershapes && event->type == (ShapeEventBase + ShapeNotify)) { XShapeEvent *sev = (XShapeEvent *)event; if((client = cwindows.find(sev->window)) != NULL) { client->reshape(); return TRUE; } } } return FALSE; }
void QuickEdit::MoveMarked(bool before) { QModelIndex current = ui->tvEditor->currentIndex(); if(!current.isValid()) return; TreeItemInterface *itemAsInterface = static_cast<TreeItemInterface*>(current.internalPointer()); BrowserNode* currentNode = static_cast<BrowserNode*>(itemAsInterface->InternalPointer()); //next we reorganize nodes in parent TreeItemInterface* parentInterface = itemAsInterface->parent(); QList<QSharedPointer<TreeItemInterface>> children = parentInterface->GetChildren(); QList<QSharedPointer<TreeItemInterface>> markedChildren; // we store all marked nodes QList<BrowserNode*> parentList; for(QSharedPointer<TreeItemInterface> child : children) { BrowserNode* childNode = static_cast<BrowserNode*>(child->InternalPointer()); if(!parentList.contains(static_cast<BrowserNode*>(childNode->parent()))) parentList.append(static_cast<BrowserNode*>(childNode->parent())); if(childNode->markedp()) markedChildren.append(child); } if(parentList.size() > 1) return; // remove all marked from children for(QSharedPointer<TreeItemInterface> child : markedChildren) { children.remove(child); } //get the new position of origin node int newPositionOfCurrent = -1; for(QSharedPointer<TreeItemInterface> child : children) { newPositionOfCurrent++; BrowserNode* childNode = static_cast<BrowserNode*>(child->InternalPointer()); if(childNode == currentNode) { if(!before) newPositionOfCurrent++; break; } } //insert the nodes back std::reverse(markedChildren.begin(), markedChildren.end()); for(QSharedPointer<TreeItemInterface> child : markedChildren) { children.insert(newPositionOfCurrent, child); } QSharedPointer<TreeItemInterface> sharedOfOperation = GetSharedOfOperation(current.parent()); TreeItem<BrowserNode>* operationItemAsNode = static_cast<TreeItem<BrowserNode>*>(sharedOfOperation.data()); // reorganize params vector BrowserOperation* operationNode = static_cast<BrowserOperation*>(operationItemAsNode->InternalPointer()); OperationData* operationData = static_cast<OperationData*>(operationNode->get_data()); operationData->params.clear(); for(QSharedPointer<TreeItemInterface> child : children) { BrowserOperationAttribute* attributeNode = static_cast<BrowserOperationAttribute*>(child->InternalPointer()); operationData->params.append(attributeNode->get_param()); } // install children back QModelIndex parentIndex = current.parent(); treeModel->removeRows(0 , children.count(), parentIndex); treeModel->insertRows(0 , children.count(), parentIndex); int pos = -1; for(QSharedPointer<TreeItemInterface> child : children) { pos++; QModelIndex newItem = treeModel->index(pos,0,parentIndex); if(!newItem.isValid()) continue; TreeItemInterface *newItemInterface = static_cast<TreeItemInterface*>(newItem.internalPointer()); TreeItem<BrowserNode>* newItemAsNode = static_cast<TreeItem<BrowserNode>*>(newItemInterface); newItemAsNode->SetController(operationAttributeController); newItemAsNode->SetParent(sharedOfOperation); newItemAsNode->SetInternalData(static_cast<BrowserNode*>(child->InternalPointer())); } pos = -1; for(QSharedPointer<TreeItemInterface> child : children) { pos++; QModelIndex newItem = treeModel->index(pos,0,parentIndex); if(!newItem.isValid()) continue; BrowserNode* node = static_cast<BrowserNode*>(child->InternalPointer()); node->set_marked(false); } QModelIndex newItem = treeModel->index(pos,0,parentIndex); if(newItem.isValid()) pos++; operationNode->modified(); }