00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifdef ENABLE_SSH
00018
00019
00021
00022 #include <globalsearch/queueinterfaces/slurmdialog.h>
00023
00024 #include <globalsearch/queueinterfaces/slurm.h>
00025
00026 #include <globalsearch/ui/abstractdialog.h>
00027 #include <globalsearch/optbase.h>
00028
00029 #include "ui_slurmdialog.h"
00030
00031 namespace GlobalSearch {
00032
00033 SlurmConfigDialog::SlurmConfigDialog(AbstractDialog *parent,
00034 OptBase *o,
00035 SlurmQueueInterface *p)
00036 : QDialog(parent),
00037 ui(new Ui::SlurmConfigDialog),
00038 m_opt(o),
00039 m_slurm(p)
00040 {
00041 ui->setupUi(this);
00042 }
00043
00044 SlurmConfigDialog::~SlurmConfigDialog()
00045 {
00046 delete ui;
00047 }
00048
00049 void SlurmConfigDialog::updateGUI()
00050 {
00051 ui->edit_description->blockSignals(true);
00052 ui->edit_host->blockSignals(true);
00053 ui->edit_scancel->blockSignals(true);
00054 ui->edit_squeue->blockSignals(true);
00055 ui->edit_sbatch->blockSignals(true);
00056 ui->edit_rempath->blockSignals(true);
00057 ui->edit_locpath->blockSignals(true);
00058 ui->edit_username->blockSignals(true);
00059 ui->spin_port->blockSignals(true);
00060 ui->spin_interval->blockSignals(true);
00061 ui->cb_cleanRemoteOnStop->blockSignals(true);
00062
00063 ui->edit_description->setText(m_opt->description);
00064 ui->edit_host->setText(m_opt->host);
00065 ui->edit_scancel->setText(m_slurm->m_scancel);
00066 ui->edit_squeue->setText(m_slurm->m_squeue);
00067 ui->edit_sbatch->setText(m_slurm->m_sbatch);
00068 ui->edit_rempath->setText(m_opt->rempath);
00069 ui->edit_locpath->setText(m_opt->filePath);
00070 ui->edit_username->setText(m_opt->username);
00071 ui->spin_port->setValue(m_opt->port);
00072 ui->spin_interval->setValue(m_slurm->m_interval);
00073 ui->cb_cleanRemoteOnStop->setChecked(m_slurm->m_cleanRemoteOnStop);
00074
00075 ui->edit_description->blockSignals(false);
00076 ui->edit_host->blockSignals(false);
00077 ui->edit_scancel->blockSignals(false);
00078 ui->edit_squeue->blockSignals(false);
00079 ui->edit_sbatch->blockSignals(false);
00080 ui->edit_rempath->blockSignals(false);
00081 ui->edit_locpath->blockSignals(false);
00082 ui->edit_username->blockSignals(false);
00083 ui->spin_port->blockSignals(false);
00084 ui->spin_interval->blockSignals(false);
00085 ui->cb_cleanRemoteOnStop->blockSignals(false);
00086 }
00087
00088 void SlurmConfigDialog::accept()
00089 {
00090 m_opt->description = ui->edit_description->text().trimmed();
00091 m_opt->host = ui->edit_host->text().trimmed();
00092 m_slurm->m_scancel = ui->edit_scancel->text().trimmed();
00093 m_slurm->m_squeue = ui->edit_squeue->text().trimmed();
00094 m_slurm->m_sbatch = ui->edit_sbatch->text().trimmed();
00095 m_opt->rempath = ui->edit_rempath->text().trimmed();
00096 m_opt->filePath = ui->edit_locpath->text().trimmed();
00097 m_opt->username = ui->edit_username->text().trimmed();
00098 m_opt->port = ui->spin_port->value();
00099
00100 m_slurm->setInterval(ui->spin_interval->value());
00101 m_slurm->m_cleanRemoteOnStop = ui->cb_cleanRemoteOnStop->isChecked();
00102 QDialog::accepted();
00103 close();
00104 }
00105
00106 void SlurmConfigDialog::reject()
00107 {
00108 updateGUI();
00109 QDialog::reject();
00110 close();
00111 }
00112
00113 }
00114
00116 #endif // ENABLE_SSH