/* * ImageDescriptionForm.cpp * * Created on: Oct 11, 2011 * Author: Gapchich Vlad */ #include "OptionsForm.h" #include #include #include #include #include #include #include #include #include OptionsForm::OptionsForm(QWidget *aParent) : QWidget(aParent) { setWindowTitle(tr("Options")); PASCALpath_ = 0; layout_v_ = new QVBoxLayout(this); layout_PASCAL_root_ = new QHBoxLayout; layout_h_ = new QHBoxLayout; auto_color_generation_ = new QCheckBox(this); auto_color_generation_->setText(tr("Automatic label color generation")); button_set_PASCAL_root_ = new QPushButton(this); button_set_PASCAL_root_->setText(tr("set PASCAL root path")); label_PASCAL_root_ = new QLabel("", this); button_ok_ = new QPushButton(this); button_ok_->setText(tr("OK")); button_cancel_ = new QPushButton(this); button_cancel_->setText(tr("Cancel")); layout_v_->addWidget(auto_color_generation_); layout_v_->addLayout(layout_PASCAL_root_); layout_v_->addLayout(layout_h_); layout_PASCAL_root_->addWidget(button_set_PASCAL_root_); layout_PASCAL_root_->addWidget(label_PASCAL_root_); layout_h_->addWidget(button_ok_); layout_h_->addWidget(button_cancel_); connect( button_set_PASCAL_root_, SIGNAL(clicked()), this, SLOT(newPascalPath()) ); connect( button_ok_, SIGNAL(clicked()), this, SLOT(setOptions()) ); connect( button_cancel_, SIGNAL(clicked()), this, SLOT(hide()) ); adjustSize(); move(QApplication::desktop()->screen()->rect().center() - rect().center()); } OptionsForm::~OptionsForm() { delete auto_color_generation_; delete button_set_PASCAL_root_; delete label_PASCAL_root_; delete button_ok_; delete button_cancel_; delete layout_v_; } void OptionsForm::setOptions() { emit optionsSet(); hide(); } void OptionsForm::setPASCALpath(QString *aPath) { if (!aPath) { return; /* NOTREACHED */ } PASCALpath_ = aPath; } void OptionsForm::newPascalPath() { QString newPath; QFileDialog fileDialog(0, tr("root directory for the PASCAL files")); fileDialog.setFileMode(QFileDialog::Directory); if (fileDialog.exec()) newPath = fileDialog.selectedFiles().last(); else { return; /* NOTREACHED */ } if (newPath.isEmpty()) { return; /* NOTREACHED */ } *PASCALpath_ = newPath; label_PASCAL_root_->setText(newPath); } bool OptionsForm::autoColorGeneration() { return auto_color_generation_->isChecked(); } void OptionsForm::showOptions() { if (!PASCALpath_) { return; /* NOTREACHED */ } if (PASCALpath_->isEmpty()) label_PASCAL_root_->setText(tr("root path is not set yet")); else label_PASCAL_root_->setText(*PASCALpath_); show(); } void OptionsForm::keyPressEvent(QKeyEvent *anEvent) { if ((Qt::Key_Enter == anEvent->key() || Qt::Key_Return == anEvent->key())) { setOptions(); } } /* * */