diff --git a/plugins/extensions/pykrita/plugin/plugins/CMakeLists.txt b/plugins/extensions/pykrita/plugin/plugins/CMakeLists.txt --- a/plugins/extensions/pykrita/plugin/plugins/CMakeLists.txt +++ b/plugins/extensions/pykrita/plugin/plugins/CMakeLists.txt @@ -76,6 +76,8 @@ install_pykrita_plugin(assignprofiledialog) install_pykrita_plugin(scripter) install_pykrita_plugin(colorspace) +install_pykrita_plugin(canvassize) +install_pykrita_plugin(filtermanager) #install_pykrita_plugin(highpass) install_pykrita_plugin(tenbrushes) diff --git a/plugins/extensions/pykrita/plugin/plugins/canvassize/__init__.py b/plugins/extensions/pykrita/plugin/plugins/canvassize/__init__.py new file mode 100644 --- /dev/null +++ b/plugins/extensions/pykrita/plugin/plugins/canvassize/__init__.py @@ -0,0 +1,2 @@ +# let's make a module +from .canvassize import * diff --git a/plugins/extensions/pykrita/plugin/plugins/canvassize/canvassize.py b/plugins/extensions/pykrita/plugin/plugins/canvassize/canvassize.py new file mode 100644 --- /dev/null +++ b/plugins/extensions/pykrita/plugin/plugins/canvassize/canvassize.py @@ -0,0 +1,20 @@ +import krita +from canvassize import uicanvassize + + +class CanvasSizeExtension(krita.Extension): + + def __init__(self, parent): + super(CanvasSizeExtension, self).__init__(parent) + + def setup(self): + action = krita.Krita.instance().createAction("Canvas Size") + action.setToolTip("Plugin to change canvas size to selected documents") + action.triggered.connect(self.initialize) + + def initialize(self): + self.uicanvassize = uicanvassize.UICanvasSize() + self.uicanvassize.initialize() + + +Scripter.addExtension(CanvasSizeExtension(krita.Krita.instance())) diff --git a/plugins/extensions/pykrita/plugin/plugins/canvassize/canvassizedialog.py b/plugins/extensions/pykrita/plugin/plugins/canvassize/canvassizedialog.py new file mode 100644 --- /dev/null +++ b/plugins/extensions/pykrita/plugin/plugins/canvassize/canvassizedialog.py @@ -0,0 +1,10 @@ +from PyQt5.QtWidgets import QDialog + + +class CanvasSizeDialog(QDialog): + + def __init__(self, parent=None): + super(CanvasSizeDialog, self).__init__(parent) + + def closeEvent(self, event): + event.accept() diff --git a/plugins/extensions/pykrita/plugin/plugins/canvassize/kritapykrita_canvassize.desktop b/plugins/extensions/pykrita/plugin/plugins/canvassize/kritapykrita_canvassize.desktop new file mode 100644 --- /dev/null +++ b/plugins/extensions/pykrita/plugin/plugins/canvassize/kritapykrita_canvassize.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Type=Service +ServiceTypes=Krita/PythonPlugin +X-KDE-Library=canvassize +X-Python-2-Compatible=false +Name=Canvas Size +Name[en_GB]=Canvas Size +Name[pt]=Tamanho da tela +Comment=Plugin to change canvas size to selected documents +Comment[en_GB]=Plugin to change canvas size to selected documents +Comment[pt]='Plugin' para alterar o tamanho da tela de documentos selecionados diff --git a/plugins/extensions/pykrita/plugin/plugins/canvassize/uicanvassize.py b/plugins/extensions/pykrita/plugin/plugins/canvassize/uicanvassize.py new file mode 100644 --- /dev/null +++ b/plugins/extensions/pykrita/plugin/plugins/canvassize/uicanvassize.py @@ -0,0 +1,65 @@ +from canvassize import canvassizedialog +from PyQt5.QtCore import Qt +from PyQt5.QtWidgets import (QFormLayout, QListWidget,QAbstractItemView, + QDialogButtonBox, QVBoxLayout, QFrame, + QPushButton, QAbstractScrollArea) +import krita + + +class UICanvasSize(object): + + def __init__(self): + self.mainDialog = canvassizedialog.CanvasSizeDialog() + self.mainLayout = QVBoxLayout(self.mainDialog) + self.formLayout = QFormLayout() + self.documentLayout = QVBoxLayout() + self.refreshButton = QPushButton("Refresh") + self.widgetDocuments = QListWidget() + self.buttonBox = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) + + self.kritaInstance = krita.Krita.instance() + self.documentsList = [] + + self.refreshButton.clicked.connect(self.refreshButtonClicked) + self.buttonBox.accepted.connect(self.confirmButton) + self.buttonBox.rejected.connect(self.mainDialog.close) + + self.mainDialog.setWindowModality(Qt.NonModal) + self.widgetDocuments.setSelectionMode(QAbstractItemView.MultiSelection) + self.widgetDocuments.setSizeAdjustPolicy(QAbstractScrollArea.AdjustToContents) + + def initialize(self): + self.loadDocuments() + + self.documentLayout.addWidget(self.widgetDocuments) + self.documentLayout.addWidget(self.refreshButton) + + self.formLayout.addRow('Documents', self.documentLayout) + + self.line = QFrame() + self.line.setFrameShape(QFrame.HLine) + self.line.setFrameShadow(QFrame.Sunken) + + self.mainLayout.addLayout(self.formLayout) + self.mainLayout.addWidget(self.line) + self.mainLayout.addWidget(self.buttonBox) + + self.mainDialog.resize(500, 300) + self.mainDialog.setWindowTitle("Canvas Size") + self.mainDialog.setSizeGripEnabled(True) + self.mainDialog.show() + self.mainDialog.activateWindow() + + def loadDocuments(self): + self.widgetDocuments.clear() + + self.documentsList = [document for document in self.kritaInstance.documents() if document.fileName()] + + for document in self.documentsList: + self.widgetDocuments.addItem(document.fileName()) + + def refreshButtonClicked(self): + self.loadDocuments() + + def confirmButton(self): + pass diff --git a/plugins/extensions/pykrita/plugin/plugins/colorspace/colorspace.py b/plugins/extensions/pykrita/plugin/plugins/colorspace/colorspace.py --- a/plugins/extensions/pykrita/plugin/plugins/colorspace/colorspace.py +++ b/plugins/extensions/pykrita/plugin/plugins/colorspace/colorspace.py @@ -1,6 +1,3 @@ -import sys -from PyQt5.QtWidgets import QPushButton, QDialog, QDialogButtonBox, QVBoxLayout, QHBoxLayout -from PyQt5.QtCore import Qt import krita from colorspace import uicolorspace diff --git a/plugins/extensions/pykrita/plugin/plugins/colorspace/uicolorspace.py b/plugins/extensions/pykrita/plugin/plugins/colorspace/uicolorspace.py --- a/plugins/extensions/pykrita/plugin/plugins/colorspace/uicolorspace.py +++ b/plugins/extensions/pykrita/plugin/plugins/colorspace/uicolorspace.py @@ -4,13 +4,14 @@ from PyQt5.QtWidgets import (QFormLayout, QListWidget, QListWidgetItem, QAbstractItemView, QComboBox, QDialogButtonBox, QVBoxLayout, QFrame, QMessageBox, QPushButton, - QHBoxLayout) + QHBoxLayout, QAbstractScrollArea) from PyQt5.QtGui import QIcon import krita from colorspace import resources_rc class UIColorSpace(object): + def __init__(self): self.mainDialog = colorspacedialog.ColorSpaceDialog() self.mainLayout = QVBoxLayout(self.mainDialog) @@ -35,6 +36,7 @@ self.mainDialog.setWindowModality(Qt.NonModal) self.widgetDocuments.setSelectionMode(QAbstractItemView.MultiSelection) + self.widgetDocuments.setSizeAdjustPolicy(QAbstractScrollArea.AdjustToContents) def initialize(self): self.loadDocuments() diff --git a/plugins/extensions/pykrita/plugin/plugins/filtermanager/__init__.py b/plugins/extensions/pykrita/plugin/plugins/filtermanager/__init__.py new file mode 100644 --- /dev/null +++ b/plugins/extensions/pykrita/plugin/plugins/filtermanager/__init__.py @@ -0,0 +1,2 @@ +# let's make a module +from .filtermanager import * diff --git a/plugins/extensions/pykrita/plugin/plugins/filtermanager/filtermanager.py b/plugins/extensions/pykrita/plugin/plugins/filtermanager/filtermanager.py new file mode 100644 --- /dev/null +++ b/plugins/extensions/pykrita/plugin/plugins/filtermanager/filtermanager.py @@ -0,0 +1,20 @@ +import krita +from filtermanager import uifiltermanager + + +class FilterManagerExtension(krita.Extension): + + def __init__(self, parent): + super(FilterManagerExtension, self).__init__(parent) + + def setup(self): + action = krita.Krita.instance().createAction("Filter Manager") + action.setToolTip("Plugin to filters management") + action.triggered.connect(self.initialize) + + def initialize(self): + self.uifiltermanager = uifiltermanager.UIFilterManager() + self.uifiltermanager.initialize() + + +Scripter.addExtension(FilterManagerExtension(krita.Krita.instance())) diff --git a/plugins/extensions/pykrita/plugin/plugins/filtermanager/filtermanagerdialog.py b/plugins/extensions/pykrita/plugin/plugins/filtermanager/filtermanagerdialog.py new file mode 100644 --- /dev/null +++ b/plugins/extensions/pykrita/plugin/plugins/filtermanager/filtermanagerdialog.py @@ -0,0 +1,10 @@ +from PyQt5.QtWidgets import QDialog + + +class FilterManagerDialog(QDialog): + + def __init__(self, parent=None): + super(FilterManagerDialog, self).__init__(parent) + + def closeEvent(self, event): + event.accept() diff --git a/plugins/extensions/pykrita/plugin/plugins/filtermanager/kritapykrita_filtermanager.desktop b/plugins/extensions/pykrita/plugin/plugins/filtermanager/kritapykrita_filtermanager.desktop new file mode 100644 --- /dev/null +++ b/plugins/extensions/pykrita/plugin/plugins/filtermanager/kritapykrita_filtermanager.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Type=Service +ServiceTypes=Krita/PythonPlugin +X-KDE-Library=filtermanager +X-Python-2-Compatible=false +Name=Filter Manager +Name[en_GB]=Filter Manager +Name[pt]=Gerenciador de filtro +Comment=Plugin to filters management +Comment[en_GB]=Plugin to filters management +Comment[pt]='Plugin' para gerenciamento de filtros diff --git a/plugins/extensions/pykrita/plugin/plugins/filtermanager/uifiltermanager.py b/plugins/extensions/pykrita/plugin/plugins/filtermanager/uifiltermanager.py new file mode 100644 --- /dev/null +++ b/plugins/extensions/pykrita/plugin/plugins/filtermanager/uifiltermanager.py @@ -0,0 +1,37 @@ +from filtermanager import filtermanagerdialog +from PyQt5.QtCore import Qt +from PyQt5.QtWidgets import (QFormLayout, QAbstractItemView, QDialogButtonBox, + QVBoxLayout, QFrame, QAbstractScrollArea) +import krita + + +class UIFilterManager(object): + + def __init__(self): + self.mainDialog = filtermanagerdialog.FilterManagerDialog() + self.mainLayout = QVBoxLayout(self.mainDialog) + self.formLayout = QFormLayout() + self.buttonBox = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) + + self.buttonBox.accepted.connect(self.confirmButton) + self.buttonBox.rejected.connect(self.mainDialog.close) + + self.mainDialog.setWindowModality(Qt.NonModal) + + def initialize(self): + self.line = QFrame() + self.line.setFrameShape(QFrame.HLine) + self.line.setFrameShadow(QFrame.Sunken) + + self.mainLayout.addLayout(self.formLayout) + self.mainLayout.addWidget(self.line) + self.mainLayout.addWidget(self.buttonBox) + + self.mainDialog.resize(500, 300) + self.mainDialog.setWindowTitle("Filter Manager") + self.mainDialog.setSizeGripEnabled(True) + self.mainDialog.show() + self.mainDialog.activateWindow() + + def confirmButton(self): + pass