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

 bottomBarButton
 
 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 barSpacer = QWidget(mainWidget)
56 barSpacer.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Ignored)
57 self.bottomLayout.addWidget(barSpacer)
58
59 self.bottomBarButton = QToolButton(mainWidget)
60 self.bottomBarButton.setAutoRaise(True)
61 self.bottomBarButton.setIconSize(QSize(22,22))
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
68 self.bottomBarButton.setDefaultAction(self.settingsAction)
69 self.bottomLayout.addWidget(self.bottomBarButton)
70
71 # Inline edit button setup
72 self.editButton = QToolButton(self.buttonsWidget)
73 self.editButton.setIconSize(self.globalButtonSize)
74 self.editButton.setDefaultAction(self.settingsAction)
75 self.buttonsLayout.addWidget(self.editButton)
76
77 self.buttonsContentList = []
78 self.readSettings()
79 self.refreshSettingsButtonPosition()
80 self.populateButtons()
81

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 82 of file workflow_buttons.py.

82 def canvasChanged(self, canvas):
83 pass
84

◆ clearButtons()

workflow_buttons.workflow_buttons.WorkflowButtons.clearButtons ( self)

Definition at line 110 of file workflow_buttons.py.

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

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 138 of file workflow_buttons.py.

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

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 115 of file workflow_buttons.py.

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

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 85 of file workflow_buttons.py.

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

◆ refreshButtons()

workflow_buttons.workflow_buttons.WorkflowButtons.refreshButtons ( self)

◆ refreshButtonsSize()

workflow_buttons.workflow_buttons.WorkflowButtons.refreshButtonsSize ( self)

Definition at line 150 of file workflow_buttons.py.

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

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 102 of file workflow_buttons.py.

102 def refreshSettingsButtonPosition(self):
103 if self.settingsButtonPosition == 0:
104 self.bottomBarButton.setVisible(True)
105 self.editButton.setVisible(False)
106 elif self.settingsButtonPosition == 1:
107 self.bottomBarButton.setVisible(False)
108 self.editButton.setVisible(True)
109

References workflow_buttons.workflow_buttons.WorkflowButtons.bottomBarButton, 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 97 of file workflow_buttons.py.

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

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

◆ bottomBarButton

workflow_buttons.workflow_buttons.WorkflowButtons.bottomBarButton

Definition at line 59 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 77 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 72 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: