Krita Source Code Documentation
Loading...
Searching...
No Matches
KisTIFFOptionsWidget Class Reference

#include <kis_dlg_options_tiff.h>

+ Inheritance diagram for KisTIFFOptionsWidget:

Public Member Functions

KisPropertiesConfigurationSP configuration () const override
 
 KisTIFFOptionsWidget (QWidget *parent=0)
 
void setConfiguration (const KisPropertiesConfigurationSP cfg) override
 
- Public Member Functions inherited from KisConfigWidget
virtual KoCanvasResourcesInterfaceSP canvasResourcesInterface () const
 
virtual void setCanvasResourcesInterface (KoCanvasResourcesInterfaceSP canvasResourcesInterface)
 
virtual void setView (KisViewManager *view)
 
 ~KisConfigWidget () override
 

Private Slots

void activated (int index)
 
void flattenToggled (bool)
 

Additional Inherited Members

- Signals inherited from KisConfigWidget
void sigConfigurationItemChanged ()
 
void sigConfigurationUpdated ()
 
void sigDropLockedConfig (KisPropertiesConfigurationSP p)
 
void sigSaveLockedConfig (KisPropertiesConfigurationSP p)
 
- Protected Member Functions inherited from KisConfigWidget
 KisConfigWidget (QWidget *parent=0, Qt::WindowFlags f=Qt::WindowFlags(), int delay=200)
 

Detailed Description

Author
Cyrille Berger cberg.nosp@m.er@c.nosp@m.berge.nosp@m.r.ne.nosp@m.t

Definition at line 19 of file kis_dlg_options_tiff.h.

Constructor & Destructor Documentation

◆ KisTIFFOptionsWidget()

KisTIFFOptionsWidget::KisTIFFOptionsWidget ( QWidget * parent = 0)

Definition at line 27 of file kis_dlg_options_tiff.cpp.

28 : KisConfigWidget(parent)
29{
30 setupUi(this);
31 activated(0);
32 connect(kComboBoxCompressionType, SIGNAL(activated(int)), this, SLOT(activated(int)));
33 connect(flatten, SIGNAL(toggled(bool)), this, SLOT(flattenToggled(bool)));
34 setSizePolicy(QSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum));
35
36 // See KisTIFFOptions::fromProperties
37 kComboBoxCompressionType->addItem(i18nc("TIFF options", "None"), 0);
38 kComboBoxCompressionType->addItem(
39 i18nc("TIFF options", "JPEG DCT compression"),
40 1);
41 kComboBoxCompressionType->addItem(i18nc("TIFF options", "Deflate (ZIP)"),
42 2);
43 kComboBoxCompressionType->addItem(
44 i18nc("TIFF options", "Lempel-Ziv & Welch"),
45 3);
46 kComboBoxCompressionType->addItem(i18nc("TIFF options", "Pixar Log"), 4);
47
48 connect(kComboBoxCompressionType,
49 QOverload<int>::of(&QComboBox::currentIndexChanged),
50 [&](int index) {
51 const int deflate = kComboBoxCompressionType->findData(2);
52 const int lzw = kComboBoxCompressionType->findData(3);
53 kComboBoxPredictor->setEnabled(index == deflate
54 || index == lzw);
55 });
56
57 kComboBoxPredictor->addItem(i18nc("TIFF options", "None"), 0);
58 kComboBoxPredictor->addItem(
59 i18nc("TIFF options", "Horizontal Differencing"),
60 1);
61 kComboBoxPredictor->addItem(
62 i18nc("TIFF options", "Floating Point Horizontal Differencing"),
63 2);
64}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
KisConfigWidget(QWidget *parent=0, Qt::WindowFlags f=Qt::WindowFlags(), int delay=200)

References activated(), connect(), and flattenToggled().

Member Function Documentation

◆ activated

void KisTIFFOptionsWidget::activated ( int index)
privateslot

Definition at line 134 of file kis_dlg_options_tiff.cpp.

135{
136 const int data = kComboBoxCompressionType->itemData(index).value<int>();
137 switch (data) {
138 case 1: // JPEG
139 codecsOptionsStack->setCurrentIndex(1);
140 break;
141 case 2: // Deflate
142 codecsOptionsStack->setCurrentIndex(2);
143 break;
144 case 4: // Pixar Log
145 codecsOptionsStack->setCurrentIndex(3);
146 break;
147 default:
148 codecsOptionsStack->setCurrentIndex(0);
149 }
150}

◆ configuration()

KisPropertiesConfigurationSP KisTIFFOptionsWidget::configuration ( ) const
overridevirtual
Returns
the configuration

Implements KisConfigWidget.

Definition at line 116 of file kis_dlg_options_tiff.cpp.

117{
119 cfg->setProperty("compressiontype",
120 kComboBoxCompressionType->currentData());
121 cfg->setProperty("predictor", kComboBoxPredictor->currentData());
122 cfg->setProperty("alpha", alpha->isChecked());
123 cfg->setProperty("saveAsPhotoshop", chkPhotoshop->isChecked());
124 cfg->setProperty("psdCompressionType", kComboBoxPSDCompressionType->currentIndex());
125 cfg->setProperty("flatten", flatten->isChecked());
126 cfg->setProperty("quality", qualityLevel->value());
127 cfg->setProperty("deflate", compressionLevelDeflate->value());
128 cfg->setProperty("pixarlog", compressionLevelPixarLog->value());
129 cfg->setProperty("saveProfile", chkSaveProfile->isChecked());
130
131 return cfg;
132}

◆ flattenToggled

void KisTIFFOptionsWidget::flattenToggled ( bool t)
privateslot

Definition at line 152 of file kis_dlg_options_tiff.cpp.

153{
154 alpha->setEnabled(t);
155 if (!t) {
156 alpha->setChecked(true);
157 }
158#ifdef TIFF_CAN_WRITE_PSD_TAGS
159 chkPhotoshop->setEnabled(!t);
160 if (t) {
161 chkPhotoshop->setChecked(false);
162 }
163#endif
164}

◆ setConfiguration()

void KisTIFFOptionsWidget::setConfiguration ( const KisPropertiesConfigurationSP config)
overridevirtual
Parameters
configthe configuration for this configuration widget.

Implements KisConfigWidget.

Definition at line 66 of file kis_dlg_options_tiff.cpp.

67{
68 kComboBoxCompressionType->setCurrentIndex(cfg->getInt("compressiontype", 0));
69 activated(kComboBoxCompressionType->currentIndex());
70 kComboBoxPredictor->setCurrentIndex(cfg->getInt("predictor", 0));
71 alpha->setChecked(cfg->getBool("alpha", true));
72#ifdef TIFF_CAN_WRITE_PSD_TAGS
73 chkPhotoshop->setEnabled(true);
74 chkPhotoshop->setChecked(cfg->getBool("saveAsPhotoshop", false));
75 kComboBoxPSDCompressionType->setCurrentIndex(cfg->getInt("psdCompressionType", 0));
76#else
77 chkPhotoshop->setEnabled(false);
78 chkPhotoshop->setChecked(false);
79#endif
80 flatten->setChecked(cfg->getBool("flatten", true));
81 flattenToggled(flatten->isChecked());
82 qualityLevel->setValue(cfg->getInt("quality", 80));
83 compressionLevelDeflate->setValue(cfg->getInt("deflate", 6));
84 compressionLevelPixarLog->setValue(cfg->getInt("pixarlog", 6));
85 chkSaveProfile->setChecked(cfg->getBool("saveProfile", true));
86
87 {
88 const QString colorDepthId =
90
91 if (colorDepthId == Float16BitsColorDepthID.id()
92 || colorDepthId == Float32BitsColorDepthID.id()
93 || colorDepthId == Float64BitsColorDepthID.id()) {
94 kComboBoxPredictor->removeItem(1);
95 } else {
96 kComboBoxPredictor->removeItem(2);
97 }
98
99 if (colorDepthId != Integer8BitsColorDepthID.id()) {
100 kComboBoxCompressionType->removeItem(
101 kComboBoxCompressionType->findData(1));
102 }
103 }
104
105 {
106 const QString colorModelId =
108
109 if (colorModelId == YCbCrAColorModelID.id()) {
110 alpha->setChecked(false);
111 alpha->setEnabled(false);
112 }
113 }
114}
const KoID Float32BitsColorDepthID("F32", ki18n("32-bit float/channel"))
const KoID YCbCrAColorModelID("YCbCrA", ki18n("YCbCr/Alpha"))
const KoID Float64BitsColorDepthID("F64", ki18n("64-bit float/channel"))
const KoID Float16BitsColorDepthID("F16", ki18n("16-bit float/channel"))
const KoID Integer8BitsColorDepthID("U8", ki18n("8-bit integer/channel"))
static const QString ColorDepthIDTag
static const QString ColorModelIDTag
QString id() const
Definition KoID.cpp:63

References activated(), KisImportExportFilter::ColorDepthIDTag, KisImportExportFilter::ColorModelIDTag, flattenToggled(), Float16BitsColorDepthID, Float32BitsColorDepthID, Float64BitsColorDepthID, KoID::id(), Integer8BitsColorDepthID, and YCbCrAColorModelID.


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