From a05470f3c79672dd36eec443456daf8ef6228e0a Mon Sep 17 00:00:00 2001 From: Thomas Lynge Date: Sat, 7 Jul 2018 10:53:20 +0200 Subject: [PATCH] Added shortcuts to animlayers. --- actions/animlayers.action | 43 +++++++++++++++++++++++++++++++ img/animlayersshortcuts.png | Bin 0 -> 21934 bytes pykrita/animlayers/animlayers.py | 41 +++++++++++++++++++++++++++-- 3 files changed, 82 insertions(+), 2 deletions(-) create mode 100644 actions/animlayers.action create mode 100644 img/animlayersshortcuts.png diff --git a/actions/animlayers.action b/actions/animlayers.action new file mode 100644 index 0000000..be27f3f --- /dev/null +++ b/actions/animlayers.action @@ -0,0 +1,43 @@ + + + + + AnimLayers + + + Play + Start and stop animation + Start and stop animation + + + + + false + + + + + Step forth + Step one frame forth + Step one frame forth + + + + + false + + + + + Step back + Step one frame back + Step one frame back + + + + + false + + + + diff --git a/img/animlayersshortcuts.png b/img/animlayersshortcuts.png new file mode 100644 index 0000000000000000000000000000000000000000..08f71443a30a44e34fb3163b49557692269e33cf GIT binary patch literal 21934 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 GMg9X)`vI8% literal 0 HcmV?d00001 diff --git a/pykrita/animlayers/animlayers.py b/pykrita/animlayers/animlayers.py index b1e03a8..5fb5214 100644 --- a/pykrita/animlayers/animlayers.py +++ b/pykrita/animlayers/animlayers.py @@ -9,11 +9,45 @@ from PyQt5.QtWidgets import (QWidget, QLabel, QPushButton, QLineEdit, QGridLayout, QCheckBox) from krita import (Krita, Extension, DockWidget, DockWidgetFactory, DockWidgetFactoryBase) +animlayersinst = None + class layer: def __init__(self, node, visible): self.node = node self.visible = visible +def animlayersplay(): + global animlayersinst + if animlayersinst != None: + animlayersinst.playClicked() + +def animlayersstepforth(): + global animlayersinst + if animlayersinst != None: + animlayersinst.stepClicked() + +def animlayersstepback(): + global animlayersinst + if animlayersinst != None: + animlayersinst.stepBackClicked() + +class AnimLayersExtension(Extension): + def __init__(self, parent): + super(AnimLayersExtension, self).__init__(parent) + + def setup(self): + pass + + def createActions(self, window): + actionplay = window.createAction("animlayers_play", i18n("Play")) + actionplay.triggered.connect(animlayersplay) + actionstepforth = window.createAction("animlayers_stepforth", i18n("Step forth")) + actionstepforth.triggered.connect(animlayersstepforth) + actionstepback = window.createAction("animlayers_stepback", i18n("Step back")) + actionstepback.triggered.connect(animlayersstepback) + +Scripter.addExtension(AnimLayersExtension(Krita.instance())) + class AnimLayersDocker(DockWidget): def __init__(self): @@ -30,9 +64,12 @@ def __init__(self): self.outputlines = [] self.outputlinescnt = [] - self.setWindowTitle('AnimLayers') + self.setWindowTitle(i18n("AnimLayers")) self.initUI() + global animlayersinst + animlayersinst = self + def initUI(self): widget = QWidget() widget.setContentsMargins(10, 10 , 10, 10) @@ -249,5 +286,5 @@ def output(self, text): def canvasChanged(self, canvas): pass - + Application.addDockWidgetFactory(DockWidgetFactory("animlayers", DockWidgetFactoryBase.DockRight, AnimLayersDocker))