Changeset View
Changeset View
Standalone View
Standalone View
kerfuffle/compressionoptionswidget.cpp
Show First 20 Lines • Show All 59 Lines • ▼ Show 20 Line(s) | |||||
60 | CompressionOptions CompressionOptionsWidget::commpressionOptions() const | 60 | CompressionOptions CompressionOptionsWidget::commpressionOptions() const | ||
61 | { | 61 | { | ||
62 | CompressionOptions opts; | 62 | CompressionOptions opts; | ||
63 | opts[QStringLiteral("CompressionLevel")] = compLevelSlider->value(); | 63 | opts[QStringLiteral("CompressionLevel")] = compLevelSlider->value(); | ||
64 | if (multiVolumeCheckbox->isChecked()) { | 64 | if (multiVolumeCheckbox->isChecked()) { | ||
65 | // Convert to kilobytes. | 65 | // Convert to kilobytes. | ||
66 | opts[QStringLiteral("VolumeSize")] = QString::number(volumeSize()); | 66 | opts[QStringLiteral("VolumeSize")] = QString::number(volumeSize()); | ||
67 | } | 67 | } | ||
68 | if (!compMethodComboBox->currentText().isEmpty()) { | ||||
69 | opts[QStringLiteral("CompressionMethod")] = compMethodComboBox->currentText(); | ||||
70 | } | ||||
68 | 71 | | |||
69 | return opts; | 72 | return opts; | ||
70 | } | 73 | } | ||
71 | 74 | | |||
72 | int CompressionOptionsWidget::compressionLevel() const | 75 | int CompressionOptionsWidget::compressionLevel() const | ||
73 | { | 76 | { | ||
74 | if (compLevelSlider->isEnabled()) { | 77 | if (compLevelSlider->isEnabled()) { | ||
75 | return compLevelSlider->value(); | 78 | return compLevelSlider->value(); | ||
76 | } else { | 79 | } else { | ||
77 | return -1; | 80 | return -1; | ||
78 | } | 81 | } | ||
79 | } | 82 | } | ||
80 | 83 | | |||
84 | QString CompressionOptionsWidget::compressionMethod() const | ||||
85 | { | ||||
86 | return compMethodComboBox->currentText(); | ||||
87 | } | ||||
88 | | ||||
81 | ulong CompressionOptionsWidget::volumeSize() const | 89 | ulong CompressionOptionsWidget::volumeSize() const | ||
82 | { | 90 | { | ||
83 | if (collapsibleMultiVolume->isEnabled() && multiVolumeCheckbox->isChecked()) { | 91 | if (collapsibleMultiVolume->isEnabled() && multiVolumeCheckbox->isChecked()) { | ||
84 | // Convert to kilobytes. | 92 | // Convert to kilobytes. | ||
85 | return volumeSizeSpinbox->value() * 1024; | 93 | return volumeSizeSpinbox->value() * 1024; | ||
86 | } else { | 94 | } else { | ||
87 | return 0; | 95 | return 0; | ||
88 | } | 96 | } | ||
Show All 38 Lines | 110 | { | |||
127 | } else { | 135 | } else { | ||
128 | collapsibleEncryption->setEnabled(false); | 136 | collapsibleEncryption->setEnabled(false); | ||
129 | collapsibleEncryption->setToolTip(i18n("Protection of the archive with password is not possible with the %1 format.", | 137 | collapsibleEncryption->setToolTip(i18n("Protection of the archive with password is not possible with the %1 format.", | ||
130 | m_mimetype.comment())); | 138 | m_mimetype.comment())); | ||
131 | pwdWidget->setEnabled(false); | 139 | pwdWidget->setEnabled(false); | ||
132 | encryptHeaderCheckBox->setToolTip(QString()); | 140 | encryptHeaderCheckBox->setToolTip(QString()); | ||
133 | } | 141 | } | ||
134 | 142 | | |||
135 | 143 | collapsibleCompression->setEnabled(true); | |||
136 | if (archiveFormat.maxCompressionLevel() == 0) { | 144 | if (archiveFormat.maxCompressionLevel() == 0) { | ||
137 | collapsibleCompression->setEnabled(false); | 145 | compLevelSlider->setEnabled(false); | ||
138 | collapsibleCompression->setToolTip(i18n("It is not possible to set compression level for the %1 format.", | 146 | lblCompLevel1->setEnabled(false); | ||
147 | lblCompLevel2->setEnabled(false); | ||||
148 | lblCompLevel3->setEnabled(false); | ||||
149 | compLevelSlider->setToolTip(i18n("It is not possible to set compression level for the %1 format.", | ||||
139 | m_mimetype.comment())); | 150 | m_mimetype.comment())); | ||
140 | } else { | 151 | } else { | ||
141 | collapsibleCompression->setEnabled(true); | 152 | compLevelSlider->setEnabled(true); | ||
142 | collapsibleCompression->setToolTip(QString()); | 153 | lblCompLevel1->setEnabled(true); | ||
154 | lblCompLevel2->setEnabled(true); | ||||
155 | lblCompLevel3->setEnabled(true); | ||||
156 | compLevelSlider->setToolTip(QString()); | ||||
143 | compLevelSlider->setMinimum(archiveFormat.minCompressionLevel()); | 157 | compLevelSlider->setMinimum(archiveFormat.minCompressionLevel()); | ||
144 | compLevelSlider->setMaximum(archiveFormat.maxCompressionLevel()); | 158 | compLevelSlider->setMaximum(archiveFormat.maxCompressionLevel()); | ||
145 | if (m_opts.contains(QStringLiteral("CompressionLevel"))) { | 159 | if (m_opts.contains(QStringLiteral("CompressionLevel"))) { | ||
146 | compLevelSlider->setValue(m_opts.value(QStringLiteral("CompressionLevel")).toInt()); | 160 | compLevelSlider->setValue(m_opts.value(QStringLiteral("CompressionLevel")).toInt()); | ||
147 | } else { | 161 | } else { | ||
148 | compLevelSlider->setValue(archiveFormat.defaultCompressionLevel()); | 162 | compLevelSlider->setValue(archiveFormat.defaultCompressionLevel()); | ||
149 | } | 163 | } | ||
150 | } | 164 | } | ||
151 | 165 | | |||
166 | if (archiveFormat.compressionMethods().isEmpty()) { | ||||
167 | lblCompMethod->setEnabled(false); | ||||
168 | compMethodComboBox->setEnabled(false); | ||||
169 | compMethodComboBox->setToolTip(i18n("It is not possible to set compression method for the %1 format.", | ||||
170 | m_mimetype.comment())); | ||||
171 | compMethodComboBox->clear(); | ||||
172 | } else { | ||||
173 | lblCompMethod->setEnabled(true); | ||||
174 | compMethodComboBox->setEnabled(true); | ||||
175 | compMethodComboBox->setToolTip(QString()); | ||||
176 | compMethodComboBox->clear(); | ||||
177 | compMethodComboBox->insertItems(0, archiveFormat.compressionMethods()); | ||||
178 | if (m_opts.contains(QStringLiteral("CompressionMethod")) && | ||||
179 | compMethodComboBox->findText(m_opts.value(QStringLiteral("CompressionMethod")).toString()) > -1) { | ||||
180 | compMethodComboBox->setCurrentText(m_opts.value(QStringLiteral("CompressionMethod")).toString()); | ||||
181 | } else { | ||||
182 | compMethodComboBox->setCurrentText(archiveFormat.defaultCompressionMethod()); | ||||
183 | } | ||||
184 | } | ||||
185 | collapsibleCompression->setEnabled(compLevelSlider->isEnabled() || compMethodComboBox->isEnabled()); | ||||
186 | | ||||
152 | if (archiveFormat.supportsMultiVolume()) { | 187 | if (archiveFormat.supportsMultiVolume()) { | ||
153 | collapsibleMultiVolume->setEnabled(true); | 188 | collapsibleMultiVolume->setEnabled(true); | ||
154 | collapsibleMultiVolume->setToolTip(QString()); | 189 | collapsibleMultiVolume->setToolTip(QString()); | ||
155 | } else { | 190 | } else { | ||
156 | collapsibleMultiVolume->setEnabled(false); | 191 | collapsibleMultiVolume->setEnabled(false); | ||
157 | collapsibleMultiVolume->setToolTip(i18n("The %1 format does not support multi-volume archives.", | 192 | collapsibleMultiVolume->setToolTip(i18n("The %1 format does not support multi-volume archives.", | ||
158 | m_mimetype.comment())); | 193 | m_mimetype.comment())); | ||
159 | } | 194 | } | ||
▲ Show 20 Lines • Show All 45 Lines • Show Last 20 Lines |