QueueResourcesDialog::QueueResourcesDialog(QueueResourcesList* queueResourcesList, QWidget* parent) : QDialog(parent), m_queueResourcesList(queueResourcesList), m_timeValidator(this) { m_dialog.setupUi(this); m_dialog.queue->clear(); if (m_queueResourcesList->isEmpty()) { QMsgBox::warning(this, "IQmol", "No queues found on server"); close(); return; } for (int i = 0; i < m_queueResourcesList->size(); ++i) { QString name((*m_queueResourcesList)[i]->m_name); m_dialog.queue->addItem(name); } m_dialog.queue->setCurrentIndex(0); connect(m_dialog.buttonBox, SIGNAL(accepted()), this, SLOT(verify())); connect(m_dialog.buttonBox, SIGNAL(rejected()), this, SLOT(close())); QString sixty("(?:[0-5][0-9])"); m_timeValidator.setRegExp(QRegExp("^\\d+:" + sixty + ":" + sixty)); m_dialog.walltime->setValidator(&m_timeValidator); }
PBSConfigurator::PBSConfigurator(QueueList const& queues, QVariantMap const& defaults, QWidget* parent) : QDialog(parent), m_queues(queues), m_timeValidator(this) { m_dialog.setupUi(this); m_dialog.queue->clear(); if (m_queues.isEmpty()) { QMsgBox::warning(this, "IQmol", "No PBS queues found"); close(); return; } QString defaultQueueName; if (defaults.contains("Queue")) { defaultQueueName = defaults.value("Queue").toString(); } for (int i = 0; i < m_queues.size(); ++i) { QString name(m_queues[i]->m_name); m_dialog.queue->addItem(name); if (name == defaultQueueName) { m_dialog.queue->setCurrentIndex(i); if (defaults.contains("Walltime")) { m_dialog.walltime->setText(defaults.value("Walltime").toString()); } if (defaults.contains("Memory")) { m_dialog.memory->setValue(defaults.value("Memory").toInt()); } if (defaults.contains("Jobfs")) { m_dialog.jobfs->setValue(defaults.value("Jobfs").toInt()); } if (defaults.contains("Ncpus")) { m_dialog.ncpus->setValue(defaults.value("Ncpus").toInt()); } } } if (defaultQueueName.isEmpty()) setQueue(m_queues.first()); connect(m_dialog.buttonBox, SIGNAL(accepted()), this, SLOT(verify())); QString sixty("(?:[0-5][0-9])"); m_timeValidator.setRegExp(QRegExp("^\\d+:" + sixty + ":" + sixty)); m_dialog.walltime->setValidator(&m_timeValidator); }