36 void setModel(QAbstractItemModel *model)
override;
39 void updateGeometries()
override;
44 void slotUpdateIcons();
45 void slotUpdateLayersMenu();
46 void slotUpdateFrameActions();
48 void slotSelectionChanged();
49 void slotReselectCurrentIndex();
53 void slotTryTransferSelectionBetweenRows(
int fromRow,
int toRow);
55 void slotSetStartTimeToCurrentPosition();
56 void slotSetEndTimeToCurrentPosition();
57 void slotUpdatePlaybackRange();
58 void slotUpdateInfiniteFramesCount();
60 void slotDataChanged(
const QModelIndex &topLeft,
const QModelIndex &bottomRight);
61 void slotHeaderDataChanged(Qt::Orientation orientation,
int first,
int last);
63 void slotColorLabelChanged(
int);
66 void slotAddNewLayer();
67 void slotAddExistingLayer(QAction *action);
68 void slotRemoveLayer();
69 void slotLayerContextMenuRequested(
const QPoint &globalPos);
72 void slotAddBlankFrame();
73 void slotAddDuplicateFrame();
84 void slotRemoveSelectedFrames(
bool entireColumn =
false,
bool pull =
false);
102 void slotMirrorFrames(
bool entireColumn =
false);
104 void slotClearCache();
113 void slotPasteFrames(
bool entireColumn =
false);
116 void slotMakeClonesUnique();
119 void slotSelectAudioChannelFile();
120 void slotAudioChannelMute(
bool value);
121 void slotAudioChannelRemove();
122 void slotAudioVolumeChanged(
int value);
125 void slotScrollerStateChanged(QScroller::State state);
126 void slotZoom(qreal zoom);
127 void slotUpdateDragInfiniteFramesCount();
128 void slotRealignScrollBars();
129 void slotEnsureRowVisible(
int row);
130 void slotFitViewToFrameRange(
int start,
int end);
132 void calculateActiveLayerSelectedTimes(
const QModelIndexList &selection);
135 bool viewportEvent(QEvent *event)
override;
137 void mousePressEvent(QMouseEvent *event)
override;
138 void mouseDoubleClickEvent(QMouseEvent *event)
override;
139 void mouseMoveEvent(QMouseEvent *e)
override;
140 void mouseReleaseEvent(QMouseEvent *e)
override;
142 void startDrag(Qt::DropActions supportedActions)
override;
143 void dragEnterEvent(QDragEnterEvent *event)
override;
144 void dragMoveEvent(QDragMoveEvent *event)
override;
145 void dragLeaveEvent(QDragLeaveEvent *event)
override;
146 void dropEvent(QDropEvent *event)
override;
148 void wheelEvent(QWheelEvent *e)
override;
149 void resizeEvent(QResizeEvent *e)
override;
151 void rowsInserted(
const QModelIndex &parent,
int start,
int end)
override;
152 void currentChanged(
const QModelIndex ¤t,
const QModelIndex &previous)
override;
154 QItemSelectionModel::SelectionFlags selectionCommand(
const QModelIndex &index,
155 const QEvent *event)
const override;
158 void setFramesPerSecond(
int fps);
160 QModelIndexList calculateSelectionSpan(
bool entireColumn,
bool editableOnly =
true)
const;
161 void calculateSelectionMetrics(
int &minColumn,
int &maxColumn, QSet<int> &rows,
bool ignoreEditability)
const;
170 void insertKeyframes(
int count = 1,
int timing = 1,
172 void insertMultipleKeyframes(
bool entireColumn =
false);
174 void insertOrRemoveHoldFrames(
int count,
bool entireColumn =
false);
175 void insertOrRemoveMultipleHoldFrames(
bool insertion,
bool entireColumn =
false);
176 void fanSelectedFrames(
const QModelIndexList &selection,
int count,
bool ignoreKeyless =
true);
178 void cutCopyImpl(
bool entireColumn,
bool copy);
179 void clone(
bool entireColumn);
181 void createFrameEditingMenuActions(QMenu *menu,
bool emptyFrame,
bool cloneFrameSelected);
183 int scrollPositionFromColumn(
int column);
186 const QScopedPointer<Private>
m_d;