Mercurial > hg > svgui
comparison view/Pane.cpp @ 649:2ad082c5a090 tonioni
boundary actions and note delete consolidated
| author | gyorgyf |
|---|---|
| date | Sun, 16 Jun 2013 20:40:05 +0100 |
| parents | ba76130ed7e5 |
| children | 76c5dfe333ee |
comparison
equal
deleted
inserted
replaced
| 648:f61a54364d1d | 649:2ad082c5a090 |
|---|---|
| 1625 dragTopLayer(e); | 1625 dragTopLayer(e); |
| 1626 } | 1626 } |
| 1627 | 1627 |
| 1628 } else if (mode == ViewManager::SelectMode) { | 1628 } else if (mode == ViewManager::SelectMode) { |
| 1629 | 1629 |
| 1630 if (!hasTopLayerTimeXAxis()) return; | 1630 if (!hasTopLayerTimeXAxis()) return; |
| 1631 | 1631 |
| 1632 dragExtendSelection(e); | 1632 dragExtendSelection(e); |
| 1633 | 1633 |
| 1634 } else if (mode == ViewManager::DrawMode) { | 1634 } else if (mode == ViewManager::DrawMode) { |
| 1635 | 1635 |
| 1636 Layer *layer = getSelectedLayer(); | 1636 Layer *layer = getSelectedLayer(); |
| 1637 if (layer && layer->isLayerEditable()) { | 1637 if (layer && layer->isLayerEditable()) { |
| 1638 layer->drawDrag(this, e); | 1638 layer->drawDrag(this, e); |
| 1639 } | 1639 } |
| 1640 | 1640 |
| 1641 } else if (mode == ViewManager::EraseMode) { | 1641 } else if (mode == ViewManager::EraseMode) { |
| 1642 | 1642 |
| 1643 Layer *layer = getSelectedLayer(); | 1643 Layer *layer = getSelectedLayer(); |
| 1644 if (layer && layer->isLayerEditable()) { | 1644 if (layer && layer->isLayerEditable()) { |
| 1645 layer->eraseDrag(this, e); | 1645 layer->eraseDrag(this, e); |
| 1646 } | 1646 } |
| 1647 | |
| 1648 // GF: handling NoteEditMode dragging and boundary actions for mouseMoveEvent | |
| 1649 } else if (mode == ViewManager::NoteEditMode) { | |
| 1650 | |
| 1651 bool resist = true; | |
| 1652 | |
| 1653 if ((e->modifiers() & Qt::ShiftModifier)) { | |
| 1654 m_shiftPressed = true; | |
| 1655 } | |
| 1656 | |
| 1657 if (m_shiftPressed) resist = false; | |
| 1658 | |
| 1659 m_dragMode = updateDragMode | |
| 1660 (m_dragMode, | |
| 1661 m_clickPos, | |
| 1662 e->pos(), | |
| 1663 true, // can move horiz | |
| 1664 true, // can move vert | |
| 1665 resist, // resist horiz | |
| 1666 resist); // resist vert | |
| 1667 | |
| 1668 if (!m_editing) { | |
| 1669 | |
| 1670 if (m_dragMode != UnresolvedDrag) { | |
| 1671 | |
| 1672 m_editing = true; | |
| 1673 | |
| 1674 QMouseEvent clickEvent(QEvent::MouseButtonPress, | |
| 1675 m_clickPos, | |
| 1676 Qt::NoButton, | |
| 1677 e->buttons(), | |
| 1678 e->modifiers()); | |
| 1679 | |
| 1680 if (!editSelectionStart(&clickEvent)) { | |
| 1681 Layer *layer = getSelectedLayer(); | |
| 1682 if (layer && layer->isLayerEditable()) { | |
| 1683 std::cerr << "calling edit start" << std::endl; | |
| 1684 layer->editStart(this, &clickEvent); | |
| 1685 } | |
| 1686 } | |
| 1687 } | |
| 1688 | |
| 1689 } else { | |
| 1690 | |
| 1691 if (!editSelectionDrag(e)) { | |
| 1692 | |
| 1693 Layer *layer = getSelectedLayer(); | |
| 1694 | |
| 1695 if (layer && layer->isLayerEditable()) { | |
| 1696 | |
| 1697 int x = e->x(); | |
| 1698 int y = e->y(); | |
| 1699 if (m_dragMode == VerticalDrag) x = m_clickPos.x(); | |
| 1700 else if (m_dragMode == HorizontalDrag) y = m_clickPos.y(); | |
| 1701 | |
| 1702 QMouseEvent moveEvent(QEvent::MouseMove, | |
| 1703 QPoint(x, y), | |
| 1704 Qt::NoButton, | |
| 1705 e->buttons(), | |
| 1706 e->modifiers()); | |
| 1707 std::cerr << "calling editDrag" << std::endl; | |
| 1708 layer->editDrag(this, &moveEvent); | |
| 1709 } | |
| 1710 } | |
| 1711 } | |
| 1647 | 1712 |
| 1648 } else if (mode == ViewManager::EditMode) { | 1713 } else if (mode == ViewManager::EditMode) { |
| 1649 | 1714 |
| 1650 bool resist = true; | 1715 bool resist = true; |
| 1651 | 1716 |
