+PreferencesDialog::PreferencesDialog(QWidget* parent, Qt::WindowFlags f, QtRapidsServer *server) :
+ QDialog(parent, f), // Superclass
+ dirLineEdit_(NULL),
+ dialogButtons_(NULL),
+ uploadRateSpinBox_(NULL),
+ downloadRateSpinBox_(NULL),
+ server_(server),
+ settings_()
+{
+ setWindowTitle("Preferences");
+
+ QBoxLayout *verticalBox = new QBoxLayout(QBoxLayout::TopToBottom);
+ //QBoxLayout *horizontalBox1 = new QBoxLayout(QBoxLayout::LeftToRight);
+ QGridLayout *grid = new QGridLayout;
+ setLayout(verticalBox);
+ verticalBox->addLayout(grid);
+
+ QLabel *dirLabel = new QLabel(tr("Download directory: "));
+ dirLineEdit_ = new QLineEdit(this);
+ QPushButton *browseDirButton = new QPushButton(tr("Browse.."));
+
+ QLabel *uploadLabel = new QLabel(tr("Max. upload rate: "));
+ QLabel *downloadLabel = new QLabel(tr("Max. download rate: "));
+ uploadRateSpinBox_ = new QSpinBox(this);
+ downloadRateSpinBox_ = new QSpinBox(this);
+
+ grid->addWidget(dirLabel, 0, 0);
+ grid->addWidget(dirLineEdit_, 0, 1);
+ grid->addWidget(browseDirButton, 0, 2);
+
+ grid->addWidget(uploadLabel, 1, 0);
+ grid->addWidget(uploadRateSpinBox_, 1, 1);
+ grid->addWidget(downloadLabel, 2, 0);
+ grid->addWidget(downloadRateSpinBox_, 2, 1);
+
+ uploadRateSpinBox_->setRange(0, 1000);
+ uploadRateSpinBox_->setSuffix(" kB/s");
+ downloadRateSpinBox_->setRange(0, 1000);
+ downloadRateSpinBox_->setSuffix(" kB/s");
+
+// horizontalBox1->addWidget(dirLabel);
+// horizontalBox1->addWidget(dirLineEdit_);
+// horizontalBox1->addWidget(browseDirButton);
+
+ connect(browseDirButton, SIGNAL(clicked()),
+ this, SLOT(on_browseDirButtonClicked()));
+
+
+ dialogButtons_ = new QDialogButtonBox(this);
+ dialogButtons_->setStandardButtons(QDialogButtonBox::Ok
+ | QDialogButtonBox::Apply
+ | QDialogButtonBox::Cancel);
+
+ verticalBox->addWidget(dialogButtons_);
+
+ connect(dialogButtons_, SIGNAL(clicked(QAbstractButton*)),
+ this, SLOT(on_buttonClicked(QAbstractButton*)));
+
+ // Set saved preference values to fields.
+ ReadSettings();