void DockWidget::setState(bool edit) { QDockWidget::DockWidgetFeatures features; if (edit) { setAllowedAreas(Qt::AllDockWidgetAreas); features = QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetFloatable; if (isClosable()) { features |= QDockWidget::DockWidgetClosable; } } else { setAllowedAreas(Qt::NoDockWidgetArea); features = QDockWidget::NoDockWidgetFeatures; if (isFloating()) { features |= QDockWidget::DockWidgetFloatable; } } setFeatures(features); setTitleBarWidget(isFloating() || edit ? Q_NULLPTR : m_titleHide); }
bool StreamReceiver:: close(SocketMessenger* m, Conduit* c) { Synchronized<es::Monitor*> method(monitor); if (socket->getTimeout() == 0 && !socket->getBlocking()) { state->abort(this); return false; } shutrd = shutwr = true; if (state->close(m, this)) { int size = 14 + 60 + 60 + mss; // XXX Assume MAC, IPv4, TCP Handle<InetMessenger> seg = new InetMessenger(&InetReceiver::output, size, size); Handle<Address> addr; seg->setLocal(addr = m->getLocal()); seg->setRemote(addr = m->getRemote()); seg->setLocalPort(m->getLocalPort()); seg->setRemotePort(m->getRemotePort()); seg->setType(IPPROTO_TCP); Visitor v(seg); conduit->accept(&v, conduit->getB()); } while (!isClosable()) { ASSERT(socket); if (!socket->getBlocking()) { m->setErrorCode(EAGAIN); return false; } monitor->wait(); } return false; }