void SubmitFieldWidget::createField(const QString &f) { FieldEntry fe; fe.createGui(m_d->removeFieldIcon); fe.combo->addItems(m_d->fields); if (!f.isEmpty()) { const int index = fe.combo->findText(f); if (index != -1) { setComboBlocked(fe.combo, index); fe.comboIndex = index; } } connect(fe.browseButton, SIGNAL(clicked()), this, SLOT(slotBrowseButtonClicked())); if (!m_d->hasBrowseButton) fe.browseButton->setVisible(false); if (m_d->completer) fe.lineEdit->setCompleter(m_d->completer); connect(fe.combo, SIGNAL(currentIndexChanged(int)), this, SLOT(slotComboIndexChanged(int))); connect(fe.clearButton, SIGNAL(clicked()), this, SLOT(slotRemove())); m_d->layout->addLayout(fe.layout); m_d->fieldEntries.push_back(fe); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- RicFileHierarchyDialog::RicFileHierarchyDialog(QWidget* parent) : QDialog(parent, RiuTools::defaultDialogFlags()) { // Create widgets m_rootDirLabel = new QLabel(); m_rootDir = new QLineEdit(); m_browseButton = new QPushButton(); m_pathFilterLabel = new QLabel(); m_pathFilter = new QLineEdit(); m_fileFilterLabel = new QLabel(); m_fileFilter = new QLineEdit(); m_fileExtensionLabel = new QLabel(); m_effectiveFilterLabel = new QLabel(); m_effectiveFilter = new QLabel(); m_fileListLabel = new QLabel(); m_fileList = new QListWidget(); m_findOrCancelButton = new QPushButton(); m_buttons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); // Connect to signals connect(m_rootDir, SIGNAL(textChanged(const QString&)), this, SLOT(slotFilterChanged(const QString&))); connect(m_pathFilter, SIGNAL(textChanged(const QString&)), this, SLOT(slotFilterChanged(const QString&))); connect(m_fileFilter, SIGNAL(textChanged(const QString&)), this, SLOT(slotFilterChanged(const QString&))); connect(m_fileList, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(slotFileListCustomMenuRequested(const QPoint&))); connect(m_findOrCancelButton, SIGNAL(clicked()), this, SLOT(slotFindOrCancelButtonClicked())); connect(m_buttons, SIGNAL(accepted()), this, SLOT(slotDialogOkClicked())); connect(m_buttons, SIGNAL(rejected()), this, SLOT(slotDialogCancelClicked())); connect(m_browseButton, SIGNAL(clicked()), this, SLOT(slotBrowseButtonClicked())); // Set widget properties m_rootDirLabel->setText("Root folder"); m_pathFilterLabel->setText("Path pattern"); m_fileFilterLabel->setText("File pattern"); m_effectiveFilterLabel->setText("Effective filter"); m_effectiveFilter->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); m_fileListLabel->setText("Files found"); m_fileListLabel->setVisible(false); m_fileList->setSelectionMode(QAbstractItemView::ExtendedSelection); m_fileList->setVisible(false); m_fileList->setContextMenuPolicy(Qt::CustomContextMenu); m_browseButton->setText("..."); m_browseButton->setFixedWidth(25); m_findOrCancelButton->setText(FIND_BUTTON_FIND_TEXT); m_findOrCancelButton->setFixedWidth(75); // Define layout QVBoxLayout* dialogLayout = new QVBoxLayout(); QGroupBox* inputGroup = new QGroupBox("Filter"); QGridLayout* inputGridLayout = new QGridLayout(); inputGridLayout->addWidget(m_rootDirLabel, 0, 0); inputGridLayout->addWidget(m_rootDir, 0, 1); inputGridLayout->addWidget(m_browseButton, 0, 2); inputGridLayout->addWidget(m_pathFilterLabel, 1, 0); inputGridLayout->addWidget(m_pathFilter, 1, 1); inputGridLayout->addWidget(m_fileFilterLabel, 2, 0); inputGridLayout->addWidget(m_fileFilter, 2, 1); inputGridLayout->addWidget(m_fileExtensionLabel, 2, 2); inputGroup->setLayout(inputGridLayout); QGroupBox* outputGroup = new QGroupBox("Files"); QGridLayout* outputGridLayout = new QGridLayout(); outputGridLayout->addWidget(m_effectiveFilterLabel, 0, 0); outputGridLayout->addWidget(m_effectiveFilter, 0, 1); outputGridLayout->addWidget(m_findOrCancelButton, 0, 2); outputGridLayout->addWidget(m_fileListLabel, 1, 0); outputGridLayout->addWidget(m_fileList, 1, 1, 1, 2); outputGroup->setLayout(outputGridLayout); dialogLayout->addWidget(inputGroup); dialogLayout->addWidget(outputGroup); dialogLayout->addWidget(m_buttons); setLayout(dialogLayout); }