23 #include <QRadioButton> 27 #include <KLocalizedString> 35 :QGroupBox(widget), Ui::SelectTimeWidgetBase(),
36 m_mode(bySamples), m_range(0), m_rate(1.0), m_offset(0), m_length(0),
69 edSamples->setSingleStep(1);
74 sbMilliseconds->setMaximum(
Kwave::toInt(qMax(t, quint64(999))));
76 sbSeconds->setMaximum(
Kwave::toInt(qMax(t, quint64(59))));
78 sbMinutes->setMaximum(
Kwave::toInt(qMax(t, quint64(59))));
139 setMinimumSize(sizeHint());
175 QObject::disconnect(sbMilliseconds, SIGNAL(
valueChanged(
int)),
177 QObject::disconnect(sbSeconds, SIGNAL(
valueChanged(
int)),
179 QObject::disconnect(sbMinutes, SIGNAL(
valueChanged(
int)),
185 QObject::disconnect(edSamples, SIGNAL(
valueChanged(
int)),
189 QObject::disconnect(&
m_timer, SIGNAL(timeout()),
200 rbTime->setChecked(
true);
201 Q_ASSERT(rbTime->isChecked());
202 Q_ASSERT(!rbSamples->isChecked());
203 Q_ASSERT(!rbPercents->isChecked());
206 rbSamples->setChecked(
true);
207 Q_ASSERT(!rbTime->isChecked());
208 Q_ASSERT(rbSamples->isChecked());
209 Q_ASSERT(!rbPercents->isChecked());
212 rbPercents->setChecked(
true);
213 Q_ASSERT(!rbTime->isChecked());
214 Q_ASSERT(!rbSamples->isChecked());
215 Q_ASSERT(rbPercents->isChecked());
224 if (!checked)
return;
226 if (rbTime->isChecked()) {
228 rbSamples->setChecked(
false);
229 rbPercents->setChecked(
false);
233 if (rbSamples->isChecked()) {
235 rbTime->setChecked(
false);
236 rbPercents->setChecked(
false);
239 if (rbTime->isChecked()) {
249 if (rbPercents->isChecked()) {
251 rbTime->setChecked(
false);
252 rbSamples->setChecked(
false);
265 int milliseconds = sbMilliseconds->value();
266 int seconds = sbSeconds->value();
267 int minutes = sbMinutes->value();
268 int hours = sbHours->value();
270 if (milliseconds < 0) {
288 Q_ASSERT((hours >= 0) && (minutes >= 0) && (seconds >= 0) &&
289 (milliseconds >= 0));
291 quint64 ms = milliseconds +
292 (seconds + (minutes + (hours * 60)) * 60) * 1000;
295 quint64 max_ms =
static_cast<quint64
>(
297 if (ms > max_ms) ms = max_ms;
307 sbMilliseconds->setValue(milliseconds);
308 sbSeconds->setValue(seconds);
309 sbMinutes->setValue(minutes);
310 sbHours->setValue(hours);
328 static int last_samples = -1;
329 if (edSamples->value() != last_samples) {
330 last_samples = edSamples->value();
345 if (samples > max_samples) samples = max_samples;
379 int max_percents = 100;
384 if (p > max_percents) p = max_percents;
389 if (slidePercents->value() != p) slidePercents->setValue(p);
390 if (sbPercents->value() != p) sbPercents->setValue(p);
412 QGroupBox::setTitle(title);
423 if (max_samples > INT_MAX)
424 max_samples = INT_MAX;
426 edSamples->setSingleStep(1);
429 if (samples <= max_samples)
return;
432 samples = max_samples;
446 Q_ASSERT(samples <= INT_MAX);
447 if (samples > INT_MAX) samples = INT_MAX;
450 double percents = 100.0 *
static_cast<double>(
samples) /
460 return (edSamples) ? edSamples->value() : 0;
473 static_cast<double>(time) * (rate * 1E-3)));
481 pos =
static_cast<unsigned int>(rint(
482 static_cast<double>(length * (time / 100.0))));
486 if (pos > INT_MAX) pos = INT_MAX;
499 time =
static_cast<quint64
>(
500 rint(static_cast<double>(samples) * 1E3 / rate));
508 time =
static_cast<quint64
>(100.0 *
510 static_cast<double>(length));
bool connect(Kwave::StreamObject &source, const char *output, Kwave::StreamObject &sink, const char *input)