Skip to content
  • Halla Rempt's avatar
    Create actions per-window instead of per-application · e9b06616
    Halla Rempt authored
    Note that this changes the libkis scripting api. The Extension
    class now has two methods: setup and createActions. Old code
    was like this:
    
    from PyQt5.QtGui import *
    from PyQt5.QtWidgets import *
    from krita import *
    
    def hello():
        QMessageBox.information(QWidget(), "Test", "Hello World")
    
    class HelloExtension(Extension):
    
      def __init__(self, parent):
          super().__init__(parent)
    
      def setup(self):
          action = Krita.createAction("Hello")
          action.triggered.connect(hello)
    
    Krita.instance().addExtension(HelloExtension(Krita.instance()))
    
    New code is like this:
    
    from PyQt5.QtGui import *
    from PyQt5.QtWidgets import *
    from krita import *
    
    def hello():
        QMessageBox.information(QWidget(), "Test", "Hello World")
    
    class HelloExtension(Extension):
    
      def __init__(self, parent):
          super().__init__(parent)
    
      def setup(self):
          pass
    
      def createActions(self, window):
          action = window.createAction("Hello")
          action.triggered.connec...
    e9b06616