protected override void DragMoveEvent(Qyoto.QGraphicsSceneDragDropEvent arg1) { if (arg1.MimeData() is RosterItemMimeData <T> ) { arg1.Accept(); } else { arg1.Ignore(); } }
protected override void DragMoveEvent(Qyoto.QGraphicsSceneDragDropEvent arg1) { if (arg1.MimeData() is RosterItemGroupMimeData) { arg1.Accept(); m_Grid.AllGroupsCollapsed = true; var pos = arg1.ScenePos(); m_GroupDropBeforeGroup = null; foreach (var group in m_Grid.SortedGroups) { if (group.IsVisible()) { if (pos.Y() < (group.Y() + (group.BoundingRect().Height() / 2))) { m_GroupDropBeforeGroup = group; break; } } } if (m_GroupDropBeforeGroup != null) { m_GroupDropIndicatorItem.SetLine(0, 0, base.Width(), 0); m_GroupDropIndicatorItem.SetPos(0, m_GroupDropBeforeGroup.Y() - (m_Grid.IconPadding / 2)); m_GroupDropIndicatorItem.SetVisible(true); } else { m_GroupDropIndicatorItem.SetVisible(false); } } else if (arg1.MimeData() is RosterItemMimeData <T> ) { m_Grid.AllGroupsCollapsed = true; base.DragMoveEvent(arg1); } else { base.DragMoveEvent(arg1); } }
protected override void DropEvent(Qyoto.QGraphicsSceneDragDropEvent arg1) { if (arg1.MimeData() is RosterItemMimeData <T> ) { arg1.Accept(); ItemOver = false; var mimeData = (RosterItemMimeData <T>)arg1.MimeData(); var oldGroup = (RosterItemGroup)mimeData.Item.ParentItem(); var editableModel = (IAvatarGridEditableModel <T>)m_Grid.Model; editableModel.AddItemToGroup(mimeData.Item.Item, this.Name); if (arg1.DropAction() != Qt.DropAction.CopyAction) { editableModel.RemoveItemFromGroup(mimeData.Item.Item, oldGroup.Name); } } else { arg1.Ignore(); } }