コード例 #1
0
void
COSXScreen::checkClipboards()
{
    LOG((CLOG_DEBUG1 "checking clipboard"));
    if (m_pasteboard.synchronize()) {
        LOG((CLOG_DEBUG "clipboard changed"));
        sendClipboardEvent(getClipboardGrabbedEvent(), kClipboardClipboard);
        sendClipboardEvent(getClipboardGrabbedEvent(), kClipboardSelection);
    }
}
コード例 #2
0
bool
CClientProxy1_0::recvGrabClipboard()
{
	// parse message
	ClipboardID id;
	UInt32 seqNum;
	if (!CProtocolUtil::readf(getStream(), kMsgCClipboard + 4, &id, &seqNum)) {
		return false;
	}
	LOG((CLOG_DEBUG "received client \"%s\" grabbed clipboard %d seqnum=%d", getName().c_str(), id, seqNum));

	// validate
	if (id >= kClipboardEnd) {
		return false;
	}

	// notify
	CClipboardInfo* info   = new CClipboardInfo;
	info->m_id             = id;
	info->m_sequenceNumber = seqNum;
	EVENTQUEUE->addEvent(CEvent(getClipboardGrabbedEvent(),
							getEventTarget(), info));

	return true;
}