Example #1
0
/**
 * @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 SourceDirectory::setPath
 * @param newpath The new path to be used.
 */
void SourceDirectory::setPath(QString newpath)
{
   if (newpath == path) {
      return;
   }
   path = newpath;
   emit pathChanged(newpath);
   QDir dir(newpath);
   if (dir.exists() != validpath) {
      validpath = !validpath;
      emit pathStatusChanged(validpath);
   }
}
Example #3
0
/**
 * @brief SourceDirectoryWidget::setDirNode
 * @param newNode The new SourceDirectory instance to be managed by this instance.
 */
void SourceDirectoryWidget::setDirNode(SourceDirectory* newNode)
{
   if (!newNode || newNode == dirNode) {
      return;
   }
   if (dirNode) {
      lineedit->disconnect(dirNode);
      dirNode->disconnect(this);
   }
   dirNode = newNode;
   connect(dirNode, SIGNAL(pathChanged(QString)), this, SLOT(setDir(QString)));
   connect(lineedit, SIGNAL(textChanged(QString)), newNode, SLOT(setPath(QString)));
   connect(newNode, SIGNAL(pathStatusChanged(bool)), this, SLOT(pathStatusChanged(bool)));
   this->setDir(newNode->getPath());
   pathStatusChanged(newNode->isValid());
}