+ /** Whether an item can be moved to a new position without colliding with similar items */
+ bool itemCollision(AbstractClipItem *item, ItemInfo newPos);
+ /** Selects all items in the scene rect, and sets ok to false if a group going over several tracks is found in it */
+ QList<QGraphicsItem *> checkForGroups(const QRectF &rect, bool *ok);
+ /** Adjust clips under another one when working in overwrite mode */
+ void adjustTimelineClips(EDITMODE mode, ClipItem *item, ItemInfo posinfo, QUndoCommand *command);
+ void adjustTimelineTransitions(EDITMODE mode, Transition *item, QUndoCommand *command);
+ /** Adjust keyframes when pasted to another clip */
+ void adjustKeyfames(GenTime oldstart, GenTime newstart, GenTime duration, QDomElement xml);
+
+ /** @brief Removes the tip and stops the animation timer. */
+ void removeTipAnimation();
+ /** @brief Creates a new tip animation.
+ * @param clip clip to display the tip on
+ * @param mode operation mode for which the tip should be displayed
+ * @param size size of the tip */
+ void setTipAnimation(AbstractClipItem *clip, OPERATIONTYPE mode, const double size);
+
+ /** @brief Takes care of updating effects and attached transitions during a resize from start.
+ * @param item Item to resize
+ * @param oldInfo The item's info before resizement (set to item->info() is @param check true)
+ * @param pos New startPos
+ * @param check (optional, default = false) Whether to check for collisions
+ * @param command (optional) Will be used as parent command (for undo history) */
+ void prepareResizeClipStart(AbstractClipItem *item, ItemInfo oldInfo, int pos, bool check = false, QUndoCommand *command = NULL);
+
+ /** @brief Takes care of updating effects and attached transitions during a resize from end.
+ * @param item Item to resize
+ * @param oldInfo The item's info before resizement (set to item->info() is @param check true)
+ * @param pos New endPos
+ * @param check (optional, default = false) Whether to check for collisions
+ * @param command (optional) Will be used as parent command (for undo history) */
+ void prepareResizeClipEnd(AbstractClipItem *item, ItemInfo oldInfo, int pos, bool check = false, QUndoCommand *command = NULL);
+
+ /** @brief Collects information about the group's children to pass it on to RazorGroupCommand.
+ * @param group The group to cut
+ * @param cutPos The absolute position of the cut */
+ void razorGroup(AbstractGroupItem *group, GenTime cutPos);
+
+ /** @brief Gets the effect parameters that will be passed to Mlt. */
+ EffectsParameterList getEffectArgs(const QDomElement &effect);
+
+ /** @brief Update Tracknames to fit again after track was added/deleted.
+ * @param track Number of track which was added/deleted
+ * @param added true = track added, false = track deleted
+ *
+ * The default track name consists of type + number. If we add/delete a track the number has to be adjusted
+ * if the name is still the default one. */
+ void updateTrackNames(int track, bool added);
+
+ /** @brief Updates the duration stored in a track's TrackInfo.
+ * @param track Number of track as used in ItemInfo (not the numbering used in KdenliveDoc) (negative for all tracks)
+ * @param command If effects need to be updated the commands to do this will be attached to this undo command
+ *
+ * In addition to update the duration in TrackInfo it updates effects with keyframes on the track. */
+ void updateTrackDuration(int track, QUndoCommand *command);
+
+ /** @brief Adjusts effects after a clip resize.
+ * @param item The item that was resized
+ * @param oldInfo pre resize info
+ * @param fromStart false = resize from end
+ * @param command Used as a parent for EditEffectCommand */
+ void adjustEffects(ClipItem *item, ItemInfo oldInfo, QUndoCommand *command);