|
@@ -9,32 +9,51 @@
|
|
|
|
|
|
#include <QCheckBox>
|
|
|
#include <QPushButton>
|
|
|
+#include <QLabel>
|
|
|
#include <QBoxLayout>
|
|
|
#include <QMessageBox>
|
|
|
#include <QApplication>
|
|
|
#include <QDesktopWidget>
|
|
|
+#include <QFileDialog>
|
|
|
+#include <QKeyEvent>
|
|
|
|
|
|
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()),
|
|
@@ -55,6 +74,8 @@ OptionsForm::OptionsForm(QWidget *aParent)
|
|
|
OptionsForm::~OptionsForm()
|
|
|
{
|
|
|
delete auto_color_generation_;
|
|
|
+ delete button_set_PASCAL_root_;
|
|
|
+ delete label_PASCAL_root_;
|
|
|
delete button_ok_;
|
|
|
delete button_cancel_;
|
|
|
|
|
@@ -68,12 +89,70 @@ OptionsForm::setOptions()
|
|
|
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();
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
/*
|
|
|
*
|
|
|
*/
|