summaryrefslogtreecommitdiffstats
path: root/knetload/speeddialog.cpp
blob: a2be1ba487e99702bfec8284af9957215dfd85bf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63

/***************************************************************************
 *                                                                         *
 *   KCPULoad and KNetLoad are copyright (c) 1999-2000, Markus Gustavsson  *
 *                                       (c) 2002, Ben Burton              *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/

#include "speeddialog.h"

#include <cstdlib>
#include <kcombobox.h>
#include <klocale.h>
#include <qlabel.h>
#include <qhbox.h>
#include <qvalidator.h>

static int stockSpeed[] = {
    100, 150, 200, 250, 300, 400, 600, 800, 1000, 1200, 1500, 2000, 2500,
    3000, 4000, 5000, 0
};

SpeedDialog::SpeedDialog(int defaultSpeed, QWidget* parent) :
        KDialogBase(parent, "speed dialog", true,
        i18n("Select Speed"), Ok|Cancel, Ok),
        speed(defaultSpeed) {
    QHBox* page = makeHBoxMainWidget();

    new QLabel(i18n("Update interval in milliseconds:"), page);

    KComboBox* speedBox = new KComboBox(true, page);

    QIntValidator* val = new QIntValidator(this);
    val->setBottom(1);
    speedBox->setValidator(val);

    QString speedStr;
    for (int i = 0; stockSpeed[i]; i++) {
        speedStr.setNum(stockSpeed[i]);
        speedBox->insertItem(speedStr);
    }

    speedStr.setNum(defaultSpeed);
    speedBox->setCurrentText(speedStr);

    connect(speedBox, SIGNAL(textChanged(const QString&)),
        this, SLOT(updateSpeed(const QString&)));
}

int SpeedDialog::getSpeed() const {
    return speed;
}

void SpeedDialog::updateSpeed(const QString& text) {
    speed = text.toInt();
}

#include "speeddialog.moc"