| 1392 | } |
| 1393 | |
| 1394 | void Server::handleLockCursorToScreenEvent(const Event &event) |
| 1395 | { |
| 1396 | const auto *info = static_cast<LockCursorToScreenInfo *>(event.getData()); |
| 1397 | |
| 1398 | // choose new state |
| 1399 | bool newState; |
| 1400 | switch (info->m_state) { |
| 1401 | default: |
| 1402 | case LockCursorToScreenInfo::kOn: |
| 1403 | newState = true; |
| 1404 | break; |
| 1405 | |
| 1406 | case LockCursorToScreenInfo::kOff: |
| 1407 | newState = false; |
| 1408 | break; |
| 1409 | |
| 1410 | case LockCursorToScreenInfo::kToggle: |
| 1411 | newState = !m_lockedToScreen; |
| 1412 | break; |
| 1413 | } |
| 1414 | |
| 1415 | // enter new state |
| 1416 | if (newState != m_lockedToScreen) { |
| 1417 | m_lockedToScreen = newState; |
| 1418 | LOG_NOTE("cursor %s current screen", m_lockedToScreen ? "locked to" : "unlocked from"); |
| 1419 | |
| 1420 | m_primaryClient->reconfigure(getActivePrimarySides()); |
| 1421 | if (!isLockedToScreenServer()) { |
| 1422 | stopRelativeMoves(); |
| 1423 | } |
| 1424 | } |
| 1425 | } |
| 1426 | |
| 1427 | void Server::onClipboardChanged(const BaseClientProxy *sender, ClipboardID id, uint32_t seqNum) |
| 1428 | { |
nothing calls this directly
no test coverage detected