Skip to content

Commit

Permalink
Improve timeline control documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
UmSenhorQualquer committed Mar 6, 2019
1 parent 8548c0a commit 99ae52f
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,22 @@
class ControlEventTimeline(ControlBase, QWidget):
"""
Timeline events editor
Short keys:
- Control + Left: Move event to the left.
- Control + Right: Move event to the right.
- Delete: Delete an event.
- L: Lock an event.
- Control + Up: Move an event up.
- Control + Down: Move an event down.
- Shift + Control + Left: Move an event end time to the left.
- Shift + Control + Right: Move an event end to the right.
- Shift + Left: Move an event beginning to the left.
- Shift + Right: Move an event beginning to the right.
- S: First press, mark the beginning of an event, Second press, create an event ending in the current cursor time.
- A: Move the cursor to the left.
- D: Move the cursor to the right.
"""

def __init__(self, label="", default=0, max=100):
Expand Down Expand Up @@ -302,6 +318,7 @@ def mouse_moveover_timeline_event(self, event):
self._graphs_prop_win.mouse_moveover_timeline_event(event)



@property
def pointer_changed_event(self):
return self._time._pointer.moveEvent
Expand Down Expand Up @@ -521,14 +538,20 @@ def __scaleSliderChange(self, value):
def __scrollAreaKeyReleaseEvent(self, event):
modifiers = int(event.modifiers())
self._time.keyReleaseEvent(event)
if modifiers is not QtCore.Qt.ControlModifier and \
modifiers is not int(QtCore.Qt.ShiftModifier | QtCore.Qt.ControlModifier) and \
modifiers is not QtCore.Qt.ShiftModifier:
QScrollArea.keyReleaseEvent(self._scrollArea, event)

QScrollArea.keyReleaseEvent(self._scrollArea, event)

def __scrollAreaKeyPressEvent(self, event):
modifiers = int(event.modifiers())
if modifiers is not QtCore.Qt.ControlModifier and \
modifiers is not int(QtCore.Qt.ShiftModifier | QtCore.Qt.ControlModifier) and \
modifiers is not QtCore.Qt.ShiftModifier:

if modifiers == QtCore.Qt.ControlModifier:
event.ignore()

if modifiers == QtCore.Qt.ShiftModifier:
event.ignore()

if modifiers == int(QtCore.Qt.ShiftModifier | QtCore.Qt.ControlModifier):
event.ignore()

if event.isAccepted():
QScrollArea.keyPressEvent(self._scrollArea, event)
18 changes: 11 additions & 7 deletions pyforms_gui/controls/control_event_timeline/timeline_widget.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

from AnyQt import QtCore
from AnyQt.QtWidgets import QWidget, QMessageBox
from AnyQt.QtGui import QColor, QPainter, QFont, QCursor
from AnyQt.QtGui import QColor, QPainter, QFont, QCursor, QKeyEvent
from pyforms_gui.controls.control_event_timeline.events.track import Track
from pyforms_gui.controls.control_event_timeline.events.event import Event
from pyforms_gui.controls.control_event_timeline.graphs.graph import Graph
Expand Down Expand Up @@ -440,8 +440,7 @@ def mouseDoubleClickEvent(self, event):
def key_release_event(self, event):
pass

def keyReleaseEvent(self, event):
super(TimelineWidget, self).keyReleaseEvent(event)
def keyReleaseEvent(self, event: QKeyEvent):
self.key_release_event(event)

if self._selected is not None:
Expand All @@ -450,11 +449,13 @@ def keyReleaseEvent(self, event):
# Move the event (or the pointer) left
if modifier == QtCore.Qt.ControlModifier and event.key() == QtCore.Qt.Key_Left:
self._selected.move(-1, 0)
event.ignore()
self.repaint()

# Move the event (or the pointer) right
if modifier == QtCore.Qt.ControlModifier and event.key() == QtCore.Qt.Key_Right:
self._selected.move(1, 0)
event.ignore()
self.repaint()

if self._selected != self._pointer:
Expand All @@ -479,23 +480,23 @@ def keyReleaseEvent(self, event):
# Move the event end left
if modifier == int(
QtCore.Qt.ShiftModifier | QtCore.Qt.ControlModifier) and event.key() == QtCore.Qt.Key_Left:
self._selected.moveEnd(-1)
self._selected.move_end(-1)
self.repaint()

# Move the event end right
if modifier == int(
QtCore.Qt.ShiftModifier | QtCore.Qt.ControlModifier) and event.key() == QtCore.Qt.Key_Right:
self._selected.moveEnd(1)
self._selected.move_end(1)
self.repaint()

# Move the event begin left
if modifier == QtCore.Qt.ShiftModifier and event.key() == QtCore.Qt.Key_Left:
self._selected.moveBegin(-1)
self._selected.move_begin(-1)
self.repaint()

# Move the event begin right
if modifier == QtCore.Qt.ShiftModifier and event.key() == QtCore.Qt.Key_Right:
self._selected.moveBegin(1)
self._selected.move_begin(1)
self.repaint()

else:
Expand Down Expand Up @@ -540,6 +541,9 @@ def keyReleaseEvent(self, event):
elif event.key() == QtCore.Qt.Key_D:
self.position = self.position + 1

super(TimelineWidget, self).keyReleaseEvent(event)



def mousePressEvent(self, event):
"""
Expand Down

0 comments on commit 99ae52f

Please sign in to comment.