/** * @brief MainWindow::createDirectoryBoxes * Creates a group box widget containing a source directy widget. */ void MainWindow::createDirectoryBoxes() { sourceDirectoryWidget = new SourceDirectoryWidget(); QVBoxLayout* sourceDirectoryBoxLayout = new QVBoxLayout; sourceDirectoryBoxLayout->setContentsMargins(0, 0, 0, 0); sourceDirectoryBoxLayout->setSizeConstraint(QLayout::SetMinimumSize); sourceDirectoryBoxLayout->addWidget(sourceDirectoryWidget); sourceDirectoryBoxLayout->setAlignment(sourceDirectoryWidget, Qt::AlignTop); sourceDirectoryBox = new QGroupBox("Source directory"); sourceDirectoryBox->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); sourceDirectoryBox->setLayout(sourceDirectoryBoxLayout); verifyDirectoryWidget = new SourceDirectoryWidget(); QVBoxLayout* verifyDirectoryBoxLayout = new QVBoxLayout; verifyDirectoryBoxLayout->setContentsMargins(0, 0, 0, 0); verifyDirectoryBoxLayout->setSizeConstraint(QLayout::SetMinimumSize); verifyDirectoryBoxLayout->addWidget(verifyDirectoryWidget); verifyDirectoryBoxLayout->setAlignment(verifyDirectoryWidget, Qt::AlignTop); verifyDirectoryBox = new QGroupBox("Verify directory"); verifyDirectoryBox->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); verifyDirectoryBox->setLayout(verifyDirectoryBoxLayout); sourceDirectoryWidget->setDirNode(mainproject->getSourceDirectory()); verifyDirectoryWidget->setDirNode(mainproject->getVerifyDirectory()); connect(sourceDirectoryWidget, SIGNAL(pathStatusSignal()), this, SLOT(pathStatusChanged())); connect(verifyDirectoryWidget, SIGNAL(pathStatusSignal()), this, SLOT(pathStatusChanged())); }
/** * @brief SourceDirectoryWidget::pathStatusChanged * @param isValid * The path verifier has changed the path status. * Change the status indicator to either green, if valid, or red, if invalid path. */ void SourceDirectoryWidget::pathStatusChanged(bool isValid) { if (isValid) { validpathlabel->setStyleSheet("border: 2px solid black; background-color: green;"); openbutton->setEnabled(true); } else { validpathlabel->setStyleSheet("border: 2px solid black; background-color: red;"); openbutton->setEnabled(false); } validpathlabel->repaint(); emit pathStatusSignal(); }