• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • krita API Reference
  • KDE Home
  • Contact Us
 

plugins/paintops/libpaintop

  • sources
  • kfour-appscomplete
  • krita
  • plugins
  • paintops
  • libpaintop
kis_paint_action_type_option.cpp
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2008 Boudewijn Rempt <[email protected]>
3  *
4  * SPDX-License-Identifier: GPL-2.0-or-later
5  */
6 #include "kis_paint_action_type_option.h"
7 #include <klocalizedstring.h>
8 
9 #include <QWidget>
10 #include <QRadioButton>
11 
12 #include "ui_wdgincremental.h"
13 #include <KisPaintopSettingsIds.h>
14 
15 class KisPaintActionWidget: public QWidget, public Ui::WdgIncremental
16 {
17 public:
18  KisPaintActionWidget(QWidget *parent = 0)
19  : QWidget(parent) {
20  setupUi(this);
21  }
22 };
23 
24 
25 KisPaintActionTypeOption::KisPaintActionTypeOption()
26  : KisPaintOpOption(KisPaintOpOption::COLOR, false)
27 {
28  setObjectName("KisPaintActionTypeOption");
29 
30  m_checkable = false;
31  m_optionWidget = new KisPaintActionWidget();
32  connect(m_optionWidget->radioBuildup, SIGNAL(toggled(bool)), SLOT(emitSettingChanged()));
33  connect(m_optionWidget->radioWash, SIGNAL(toggled(bool)), SLOT(emitSettingChanged()));
34 
35  m_optionWidget->hide();
36  setConfigurationPage(m_optionWidget);
37 }
38 
39 
40 KisPaintActionTypeOption::~KisPaintActionTypeOption()
41 {
42 }
43 
44 
45 enumPaintActionType KisPaintActionTypeOption::paintActionType() const
46 {
47  if (m_optionWidget->radioBuildup->isChecked()) {
48  return BUILDUP;
49  }
50  else if (m_optionWidget->radioWash->isChecked()) {
51  return WASH;
52  }
53  else {
54  return WASH;
55  }
56 }
57 
58 void KisPaintActionTypeOption::writeOptionSetting(KisPropertiesConfigurationSP setting) const
59 {
60  setting->setProperty("PaintOpAction", paintActionType());
61 }
62 
63 void KisPaintActionTypeOption::readOptionSetting(const KisPropertiesConfigurationSP setting)
64 {
65  const bool isMaskingBrushEnabled = setting->getBool(KisPaintOpUtils::MaskingBrushEnabledTag);
66 
67  if (!isMaskingBrushEnabled) {
68  enumPaintActionType type = (enumPaintActionType)setting->getInt("PaintOpAction", WASH);
69  m_optionWidget->radioBuildup->setChecked(type == BUILDUP);
70  m_optionWidget->radioWash->setChecked(type == WASH);
71  } else {
72  m_optionWidget->radioWash->setChecked(true);
73  }
74 
75  updateControlsAvailability(!isMaskingBrushEnabled);
76 }
77 
78 void KisPaintActionTypeOption::slotForceWashMode(bool value)
79 {
80  if (value) {
81  m_optionWidget->radioWash->setChecked(true);
82  }
83 
84  // TODO: We do not restore the state of the painting
85  // mode before masking was activated! Hope no one
86  // will notice it, since BuildUp mode is not used
87  // too often :)
88 
89  updateControlsAvailability(!value);
90 }
91 
92 void KisPaintActionTypeOption::updateControlsAvailability(bool value)
93 {
94  m_optionWidget->radioBuildup->setEnabled(value);
95  m_optionWidget->radioWash->setEnabled(value);
96  m_optionWidget->label->setEnabled(value);
97 
98  const QString &toolTipText =
99  i18nc("@info:tooltip", "Only wash mode is possible when using a masked brush.");
100 
101  m_optionWidget->radioBuildup->setToolTip(toolTipText);
102  m_optionWidget->radioWash->setToolTip(toolTipText);
103  m_optionWidget->label->setToolTip(toolTipText);
104 }
105 
QWidget
KisPaintActionTypeOption::KisPaintActionTypeOption
KisPaintActionTypeOption()
Definition: kis_paint_action_type_option.cpp:25
KisPaintActionTypeOption::~KisPaintActionTypeOption
~KisPaintActionTypeOption() override
Definition: kis_paint_action_type_option.cpp:40
BUILDUP
Definition: kis_paint_action_type_option.h:16
KisPaintActionTypeOption::paintActionType
enumPaintActionType paintActionType() const
Definition: kis_paint_action_type_option.cpp:45
QString
KisPaintActionTypeOption::writeOptionSetting
void writeOptionSetting(KisPropertiesConfigurationSP setting) const override
Definition: kis_paint_action_type_option.cpp:58
kis_paint_action_type_option.h
WASH
Definition: kis_paint_action_type_option.h:17
QWidget::setupUi
void setupUi(QWidget *widget)
KisPaintActionTypeOption::readOptionSetting
void readOptionSetting(const KisPropertiesConfigurationSP setting) override
Definition: kis_paint_action_type_option.cpp:63
enumPaintActionType
enumPaintActionType
Definition: kis_paint_action_type_option.h:14
KisPaintOpOption
QObject::parent
QObject * parent() const
KisPaintActionTypeOption::slotForceWashMode
void slotForceWashMode(bool value)
Definition: kis_paint_action_type_option.cpp:78
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Sun Apr 18 2021 23:38:44 by doxygen 1.8.16 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

plugins/paintops/libpaintop

Skip menu "plugins/paintops/libpaintop"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members

krita API Reference

Skip menu "krita API Reference"
  • libs
  •   KritaBasicFlakes
  •   brush
  •   KritaUndo2
  •   KritaFlake
  •   image
  •   KritaPlugin
  •   Krita
  •   KritaPigment
  •   KritaResources
  •   KritaStore
  •   ui
  •   KritaWidgets
  •   KritaWidgetUtils
  • plugins
  •   Assitants
  •   Extensions
  •   Filters
  •   Generators
  •   Formats
  •           src
  •   PaintOps
  •     libpaintop

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal