bool MCParagraphCursor::MoveFinish(MCParagraphCursorMove p_movement, int4 p_delta) { if (p_delta == 0) return true; return MoveIndex(m_finish, p_movement, p_delta); }
bool MCParagraphCursor::MoveStart(MCParagraphCursorMove p_movement, int4 p_delta) { if (p_delta == 0) return true; return MoveIndex(m_start, p_movement, p_delta); }
void TodoList::mouseMoveEvent(QMouseEvent *event){ int x = event->globalPos().x() - this->pos().x(); int y = event->globalPos().y() - this->pos().y(); moveY = oldMoveY + y - pressY; selectIndex = (y - moveY - 95) / 80; if(ValidIndex()){ MoveIndex(selectIndex,oldMoveX + x - pressX); } }
void TodoList::mouseReleaseEvent(QMouseEvent *event){ int x = event->globalPos().x() - this->pos().x(); int y = event->globalPos().y() - this->pos().y(); moveY = oldMoveY + y - pressY; selectIndex = (y - moveY - 95) / 80; if(ValidIndex()){ MoveIndex(selectIndex,oldMoveX + x - pressX); } moveAniSource = moveY; moveAniFrame = 0; mousePre = false; moveAniTarget = (moveY/ 80 + ((moveY%80)/80.0 >= 0.5)) * 80;//找到最接近80的倍数的值 if (moveY > 0)moveAniTarget = 0; //lastDateY = (-80 * indexSize) + 0; if (moveY < lastDateY)moveAniTarget = lastDateY; if (deleteIndex != -1 && deleteIndex < indexSize){ //deleteIndex 为选中项目id,要和事件id区分! int id = indexID[deleteIndex]; //对应时间的paid int validID = -1; int count = 0; if (id == -1){ //批量删除todolist for (int i = deleteIndex + 1; i < indexSize && indexID[i] != -1; i++){ if (validID == -1)validID = indexID[i]; count++; } } else{ //删除单个Todo count = 1; validID = id; } indexSize -= count; for (int i = deleteIndex; i < indexSize; i++){ indexID[i] = indexID[i + count]; indexPosX[i] = indexPosX[i + count]; } pa.RemoveTodo(validID, count, viewDate.year, viewDate.month); deleteIndex = -1; } }