Krita Source Code Documentation
Loading...
Searching...
No Matches
workflow_buttons.workflow_buttons.WorkflowButtons Class Reference
+ Inheritance diagram for workflow_buttons.workflow_buttons.WorkflowButtons:

Public Member Functions

 __init__ (self)
 
 canvasChanged (self, canvas)
 
 clearButtons (self)
 
 openSettingsDialog (self)
 
 populateButtons (self)
 
 readSettings (self)
 
 refreshButtons (self)
 
 refreshButtonsSize (self)
 
 refreshSettingsButtonPosition (self)
 
 writeSettings (self)
 

Public Attributes

 bottomBar
 
 bottomLayout
 
 buttonsContentList
 
 buttonsLayout
 
 buttonsWidget
 
 editButton
 
 globalButtonSize
 
 openSettingsDialog
 
 settingsAction
 
 settingsButtonPosition
 
 sizeIndex
 

Detailed Description

Definition at line 23 of file workflow_buttons.py.

Constructor & Destructor Documentation

◆ __init__()

workflow_buttons.workflow_buttons.WorkflowButtons.__init__ ( self)

Definition at line 24 of file workflow_buttons.py.

24 def __init__(self):
25 super().__init__()
26 self.setWindowTitle(i18nc("@title:window", "Workflow Buttons"))
27 self.sizeIndex = 2
28 self.globalButtonSize = QSize(LISTOFSIZES[self.sizeIndex], LISTOFSIZES[self.sizeIndex])
29 self.settingsButtonPosition = 0
30
31 # all widget and layout setup of the docker
32 mainWidget = QWidget(self)
33 self.setWidget(mainWidget)
34 mainLayout = QVBoxLayout(mainWidget)
35 mainLayout.setSpacing(2)
36 mainLayout.setContentsMargins(0, 0, 0, 0)
37
38 buttonsScrollArea = QScrollArea(mainWidget)
39 buttonsScrollArea.setMinimumSize(self.globalButtonSize)
40 self.buttonsWidget = QWidget(buttonsScrollArea)
41 buttonsScrollArea.setWidgetResizable(True)
42 buttonsScrollArea.setWidget(self.buttonsWidget)
43
44 mainLayout.addWidget(buttonsScrollArea)
45
46 self.buttonsLayout = FlowLayout(self.buttonsWidget)
47 self.buttonsLayout.setSpacing(2)
48 self.buttonsLayout.setContentsMargins(0, 0, 0, 0)
49
50 self.bottomLayout = QHBoxLayout()
51 self.bottomLayout.setSpacing(2)
52 self.bottomLayout.setContentsMargins(0, 0, 0, 0)
53 mainLayout.addLayout(self.bottomLayout)
54
55 self.bottomBar = QToolBar(self)
56 self.bottomBar.setIconSize(QSize(22,22))
57 self.bottomBar.setStyleSheet("QToolBar{spacing:0px; margin:0px;}")
58 barSpacer = QWidget(self.bottomBar)
59 barSpacer.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding)
60 self.bottomBar.addWidget(barSpacer)
61 self.bottomLayout.addWidget(self.bottomBar)
62
63 self.settingsAction = QAction(self)
64 self.settingsAction.setIcon(INSTANCE.icon('view-choose-22'))
65 self.settingsAction.setToolTip(i18n("Open workflow buttons settings dialog"))
66 self.settingsAction.triggered.connect(self.openSettingsDialog)
67 self.bottomBar.addAction(self.settingsAction)
68
69 # Inline edit button setup
70 self.editButton = QToolButton(self.buttonsWidget)
71 self.editButton.setIconSize(self.globalButtonSize)
72 self.editButton.setDefaultAction(self.settingsAction)
73 self.buttonsLayout.addWidget(self.editButton)
74
75 self.buttonsContentList = []
76 self.readSettings()
77 self.refreshSettingsButtonPosition()
78 self.populateButtons()
79

References workflow_buttons.workflow_buttons.WorkflowButtons.__init__(), KisPipeBrushParasite.dim, KisSpinBoxUnitManager.dim, FlattenSpec.dim, and xcfLayer.dim.

Member Function Documentation

◆ canvasChanged()

workflow_buttons.workflow_buttons.WorkflowButtons.canvasChanged ( self,
canvas )

Definition at line 80 of file workflow_buttons.py.

80 def canvasChanged(self, canvas):
81 pass
82

◆ clearButtons()

workflow_buttons.workflow_buttons.WorkflowButtons.clearButtons ( self)

Definition at line 108 of file workflow_buttons.py.

108 def clearButtons(self):
109 for widget in self.buttonsWidget.children():
110 if isinstance(widget, CustomButton):
111 widget.deleteLater()
112

References workflow_buttons.buttons_settings_dialog.ButtonsSettingsDialog.buttonsWidget, and workflow_buttons.workflow_buttons.WorkflowButtons.buttonsWidget.

◆ openSettingsDialog()

workflow_buttons.workflow_buttons.WorkflowButtons.openSettingsDialog ( self)

Definition at line 136 of file workflow_buttons.py.

136 def openSettingsDialog(self):
137 newDialog = ButtonsSettingsDialog(self, self.buttonsContentList, self.sizeIndex, self.settingsButtonPosition)
138 newDialog.exec()
139 if newDialog.result() == 1:
140 self.buttonsContentList = newDialog.buttonsContentList
141 self.sizeIndex = newDialog.sizeIndex
142 self.settingsButtonPosition = newDialog.settingsButtonPosition
143 self.refreshSettingsButtonPosition()
144 self.refreshButtonsSize()
145 self.writeSettings()
146 self.refreshButtons()
147

References workflow_buttons.buttons_settings_dialog.ButtonsSettingsDialog.buttonsContentList, workflow_buttons.workflow_buttons.WorkflowButtons.buttonsContentList, workflow_buttons.buttons_settings_dialog.ButtonsSettingsDialog.refreshButtons(), workflow_buttons.workflow_buttons.WorkflowButtons.refreshButtons(), workflow_buttons.workflow_buttons.WorkflowButtons.refreshButtonsSize(), workflow_buttons.workflow_buttons.WorkflowButtons.refreshSettingsButtonPosition(), workflow_buttons.buttons_settings_dialog.ButtonsSettingsDialog.settingsButtonPosition, workflow_buttons.workflow_buttons.WorkflowButtons.settingsButtonPosition, workflow_buttons.buttons_settings_dialog.ButtonsSettingsDialog.sizeIndex, workflow_buttons.workflow_buttons.WorkflowButtons.sizeIndex, KDcrawIface::RExpanderBox.writeSettings(), KDcrawIface::DcrawSettingsWidget.writeSettings(), KisKActionCollection.writeSettings(), scriptdocker.scriptdocker.ScriptDocker.writeSettings(), scripter.ui_scripter.actions.settingsaction.settingsaction.SettingsAction.writeSettings(), tenbrushes.tenbrushes.TenBrushesExtension.writeSettings(), tenscripts.tenscripts.TenScriptsExtension.writeSettings(), workflow_buttons.workflow_buttons.WorkflowButtons.writeSettings(), scripter.ui_scripter.actions.settingsaction.fontscombobox.FontsComboBox.writeSettings(), scripter.ui_scripter.actions.settingsaction.settingsdialog.SettingsDialog.writeSettings(), and scripter.ui_scripter.actions.settingsaction.syntaxstylescombobox.SyntaxStylesComboBox.writeSettings().

◆ populateButtons()

workflow_buttons.workflow_buttons.WorkflowButtons.populateButtons ( self)

Definition at line 113 of file workflow_buttons.py.

113 def populateButtons(self):
114 buttonID = -1
115 allBrushPresets = INSTANCE.resources('preset')
116 for buttonToCreate in self.buttonsContentList:
117 buttonID += 1
118 if buttonToCreate["iconMode"] == 0:
119 buttonIcon = QIcon(buttonToCreate["icon"])
120 elif buttonToCreate["iconMode"] == 1 and buttonToCreate["toolIndex"] != 0:
121 buttonIcon = INSTANCE.icon(LISTOFTOOLS[buttonToCreate["toolIndex"]]["toolIcon"])
122 elif buttonToCreate["iconMode"] == 2 and buttonToCreate["presetName"] != "":
123 brushPreset = allBrushPresets[buttonToCreate["presetName"]]
124 buttonIcon = QIcon(QPixmap.fromImage(brushPreset.image()))
125 else:
126 buttonIcon = QIcon()
127 button = CustomButton(self.buttonsWidget, buttonID, buttonToCreate)
128 button.setIconSize(self.globalButtonSize)
129 button.setIcon(buttonIcon)
130 self.buttonsLayout.addWidget(button)
131

References workflow_buttons.buttons_settings_dialog.ButtonsSettingsDialog.buttonsContentList, workflow_buttons.workflow_buttons.WorkflowButtons.buttonsContentList, workflow_buttons.buttons_settings_dialog.ButtonsSettingsDialog.buttonsLayout, workflow_buttons.workflow_buttons.WorkflowButtons.buttonsLayout, workflow_buttons.buttons_settings_dialog.ButtonsSettingsDialog.buttonsWidget, workflow_buttons.workflow_buttons.WorkflowButtons.buttonsWidget, workflow_buttons.buttons_settings_dialog.ButtonsSettingsDialog.globalButtonSize, and workflow_buttons.workflow_buttons.WorkflowButtons.globalButtonSize.

◆ readSettings()

workflow_buttons.workflow_buttons.WorkflowButtons.readSettings ( self)

Definition at line 83 of file workflow_buttons.py.

83 def readSettings(self):
84 savedSize = Application.readSetting("workflowbuttons", "buttonsSize", "")
85 if savedSize:
86 self.sizeIndex = int(savedSize)
87 self.refreshButtonsSize()
88 savedList = Application.readSetting("workflowbuttons", "buttons", "")
89 if savedList:
90 self.buttonsContentList = ast.literal_eval(savedList)
91 savedSettingsButtonPosition = Application.readSetting("workflowbuttons", "settingsButtonPosition", "")
92 if savedSettingsButtonPosition:
93 self.settingsButtonPosition = int(savedSettingsButtonPosition)
94

◆ refreshButtons()

workflow_buttons.workflow_buttons.WorkflowButtons.refreshButtons ( self)

◆ refreshButtonsSize()

workflow_buttons.workflow_buttons.WorkflowButtons.refreshButtonsSize ( self)

Definition at line 148 of file workflow_buttons.py.

148 def refreshButtonsSize(self):
149 self.globalButtonSize = QSize(LISTOFSIZES[self.sizeIndex], LISTOFSIZES[self.sizeIndex])
150 self.editButton.setIconSize(self.globalButtonSize)
151

References workflow_buttons.workflow_buttons.WorkflowButtons.editButton, workflow_buttons.buttons_settings_dialog.ButtonsSettingsDialog.globalButtonSize, workflow_buttons.workflow_buttons.WorkflowButtons.globalButtonSize, workflow_buttons.buttons_settings_dialog.ButtonsSettingsDialog.sizeIndex, and workflow_buttons.workflow_buttons.WorkflowButtons.sizeIndex.

◆ refreshSettingsButtonPosition()

workflow_buttons.workflow_buttons.WorkflowButtons.refreshSettingsButtonPosition ( self)

Definition at line 100 of file workflow_buttons.py.

100 def refreshSettingsButtonPosition(self):
101 if self.settingsButtonPosition == 0:
102 self.bottomBar.setVisible(True)
103 self.editButton.setVisible(False)
104 elif self.settingsButtonPosition == 1:
105 self.bottomBar.setVisible(False)
106 self.editButton.setVisible(True)
107

References workflow_buttons.workflow_buttons.WorkflowButtons.bottomBar, workflow_buttons.workflow_buttons.WorkflowButtons.editButton, workflow_buttons.buttons_settings_dialog.ButtonsSettingsDialog.settingsButtonPosition, and workflow_buttons.workflow_buttons.WorkflowButtons.settingsButtonPosition.

◆ writeSettings()

workflow_buttons.workflow_buttons.WorkflowButtons.writeSettings ( self)

Definition at line 95 of file workflow_buttons.py.

95 def writeSettings(self):
96 Application.writeSetting("workflowbuttons", "buttonsSize", str(self.sizeIndex))
97 Application.writeSetting("workflowbuttons", "buttons", str(self.buttonsContentList))
98 Application.writeSetting("workflowbuttons", "settingsButtonPosition", str(self.settingsButtonPosition))
99

References workflow_buttons.buttons_settings_dialog.ButtonsSettingsDialog.buttonsContentList, workflow_buttons.workflow_buttons.WorkflowButtons.buttonsContentList, workflow_buttons.buttons_settings_dialog.ButtonsSettingsDialog.settingsButtonPosition, workflow_buttons.workflow_buttons.WorkflowButtons.settingsButtonPosition, workflow_buttons.buttons_settings_dialog.ButtonsSettingsDialog.sizeIndex, and workflow_buttons.workflow_buttons.WorkflowButtons.sizeIndex.

Member Data Documentation

◆ bottomBar

workflow_buttons.workflow_buttons.WorkflowButtons.bottomBar

Definition at line 55 of file workflow_buttons.py.

◆ bottomLayout

workflow_buttons.workflow_buttons.WorkflowButtons.bottomLayout

Definition at line 50 of file workflow_buttons.py.

◆ buttonsContentList

workflow_buttons.workflow_buttons.WorkflowButtons.buttonsContentList

Definition at line 75 of file workflow_buttons.py.

◆ buttonsLayout

workflow_buttons.workflow_buttons.WorkflowButtons.buttonsLayout

Definition at line 46 of file workflow_buttons.py.

◆ buttonsWidget

workflow_buttons.workflow_buttons.WorkflowButtons.buttonsWidget

Definition at line 40 of file workflow_buttons.py.

◆ editButton

workflow_buttons.workflow_buttons.WorkflowButtons.editButton

Definition at line 70 of file workflow_buttons.py.

◆ globalButtonSize

workflow_buttons.workflow_buttons.WorkflowButtons.globalButtonSize

Definition at line 28 of file workflow_buttons.py.

◆ openSettingsDialog

workflow_buttons.workflow_buttons.WorkflowButtons.openSettingsDialog

Definition at line 66 of file workflow_buttons.py.

◆ settingsAction

workflow_buttons.workflow_buttons.WorkflowButtons.settingsAction

Definition at line 63 of file workflow_buttons.py.

◆ settingsButtonPosition

workflow_buttons.workflow_buttons.WorkflowButtons.settingsButtonPosition

Definition at line 29 of file workflow_buttons.py.

◆ sizeIndex

workflow_buttons.workflow_buttons.WorkflowButtons.sizeIndex

Definition at line 27 of file workflow_buttons.py.


The documentation for this class was generated from the following file: