24 #include <QRadioButton> 30 #include <KLocalizedString> 40 :QWidget(parent), Ui::CompressionWidgetBase()
46 abrBitrate->allowRates(rates);
47 abrHighestBitrate->allowRates(rates);
48 abrLowestBitrate->allowRates(rates);
50 connect(rbABR, SIGNAL(toggled(
bool)),
52 connect(chkLowestBitrate, SIGNAL(toggled(
bool)),
54 connect(chkHighestBitrate, SIGNAL(toggled(
bool)),
56 connect(abrBitrate, SIGNAL(valueChanged(
int)),
58 connect(abrLowestBitrate, SIGNAL(valueChanged(
int)),
60 connect(abrHighestBitrate, SIGNAL(valueChanged(
int)),
75 initInfo(lblCompressionNominalBitrate, abrBitrate,
77 initInfo(Q_NULLPTR, abrHighestBitrate,
79 initInfo(Q_NULLPTR, abrLowestBitrate,
81 initInfo(lblCompressionBaseQuality, sbBaseQuality,
90 const QString &description)
93 widget->setToolTip(description);
94 widget->setWhatsThis(
_(
"<b>") + name +
_(
"</b><br>") + description);
103 if (label) label->setText(i18n(info.
name(property).toLatin1()) +
_(
":"));
111 rbABR->setEnabled(enable);
112 if (!enable) rbABR->setChecked(
false);
114 const bool on = (rbABR->isChecked() && enable);
115 lblCompressionNominalBitrate->setEnabled(on);
116 abrBitrate->setEnabled(on);
117 abrHighestBitrate->setEnabled(on);
118 abrLowestBitrate->setEnabled(on);
119 chkHighestBitrate->setEnabled(on);
120 chkLowestBitrate->setEnabled(on);
122 chkLowestBitrate->setChecked(lowest);
123 chkHighestBitrate->setChecked(highest);
129 rbVBR->setEnabled(enable);
130 if (!enable) rbVBR->setChecked(
false);
132 const bool on = (rbVBR->isChecked() && enable);
133 lblCompressionBaseQuality->setEnabled(on);
134 sbBaseQuality->setEnabled(on);
135 slBaseQuality->setEnabled(on);
142 abrHighestBitrate->setEnabled(checked && chkHighestBitrate->isChecked());
143 abrLowestBitrate->setEnabled( checked && chkLowestBitrate->isChecked());
152 int abr = abrBitrate->value();
153 if (abrLowestBitrate->value() > abr)
154 abrLowestBitrate->setValue(abr);
156 abrLowestBitrate->setEnabled(chkLowestBitrate->isEnabled() && on);
166 int abr = abrBitrate->value();
167 if (abrHighestBitrate->value() < abr)
168 abrHighestBitrate->setValue(abr);
170 abrHighestBitrate->setEnabled(chkHighestBitrate->isEnabled() && on);
177 if (value < abrLowestBitrate->value())
178 abrLowestBitrate->setValue(value);
179 if (value > abrHighestBitrate->value())
180 abrHighestBitrate->setValue(value);
186 if (value > abrBitrate->value())
187 abrBitrate->setValue(value);
188 if (value > abrHighestBitrate->value())
189 abrHighestBitrate->setValue(value);
195 if (value < abrLowestBitrate->value())
196 abrLowestBitrate->setValue(value);
197 if (value < abrBitrate->value())
198 abrBitrate->setValue(value);
204 abrLowestBitrate->setValue(lower);
205 abrHighestBitrate->setValue(upper);
206 abrBitrate->setValue(nominal);
212 sbBaseQuality->setValue(quality);
224 bool abr = rbABR->isEnabled();
225 bool vbr = rbVBR->isEnabled();
228 rbVBR->setChecked(
false);
229 rbVBR->setChecked(
true);
230 rbVBR->setChecked(
false);
232 rbABR->setChecked(
true);
233 rbABR->setChecked(
false);
234 rbABR->setChecked(
true);
235 rbABR->setChecked(abr);
238 rbABR->setChecked(
false);
239 rbABR->setChecked(
true);
240 rbABR->setChecked(
false);
242 rbVBR->setChecked(
true);
243 rbVBR->setChecked(
false);
244 rbVBR->setChecked(
true);
245 rbVBR->setChecked(vbr);
253 return chkLowestBitrate->isChecked();
259 return chkHighestBitrate->isChecked();
264 int &lowest,
int &highest)
266 nominal = abrBitrate->value();
267 lowest = abrLowestBitrate->value();
268 highest = abrHighestBitrate->value();
274 return sbBaseQuality->value();
QString name(FileProperty key) const
bool connect(Kwave::StreamObject &source, const char *output, Kwave::StreamObject &sink, const char *input)
QString description(FileProperty key) const
static const StandardBitrates & instance()