]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/qt-console/run/run.cpp
Implement first cut of job defaults in run dialog
[bacula/bacula] / bacula / src / qt-console / run / run.cpp
index a733dc3879b589020009901a646438bacb3e79c4..e8ac824b3eed1fa00d910fcb8c07e922c84fcb6f 100644 (file)
 
 runDialog::runDialog(Console *console)
 {
+   QDateTime dt;
+   job_defaults job_defs;
+
+   m_console = console;
    setupUi(this);
-   storageCombo->addItems(console->storage_list);
+   jobCombo->addItems(console->job_list);
+   filesetCombo->addItems(console->fileset_list);
+   levelCombo->addItems(console->level_list);
+   clientCombo->addItems(console->client_list);
    poolCombo->addItems(console->pool_list);
+   storageCombo->addItems(console->storage_list);
+   dateTimeEdit->setDateTime(dt.currentDateTime());
+   job_defs.job_name = jobCombo->currentText();
+   if (console->get_job_defaults(job_defs)) {
+      filesetCombo->setCurrentIndex(filesetCombo->findText(job_defs.fileset_name, Qt::MatchExactly));
+      levelCombo->setCurrentIndex(levelCombo->findText(job_defs.level, Qt::MatchExactly));
+      clientCombo->setCurrentIndex(clientCombo->findText(job_defs.client_name, Qt::MatchExactly));
+      poolCombo->setCurrentIndex(poolCombo->findText(job_defs.pool_name, Qt::MatchExactly));
+      storageCombo->setCurrentIndex(storageCombo->findText(job_defs.store_name, Qt::MatchExactly));
+   }
    this->show();
 }
 
 void runDialog::accept()
 {
-   printf("Storage=%s\n"
-          "Pool=%s\n", 
-           storageCombo->currentText().toUtf8().data(),
-           poolCombo->currentText().toUtf8().data());
-   this->hide();
-   delete this;
-
-#ifdef xxx
-   volume  = get_entry_text(label_dialog, "label_entry_volume");
-
-   slot    = get_spin_text(label_dialog, "label_slot");
-
-   if (!pool || !storage || !volume || !(*volume)) {
-      set_status_ready();
-      return;
-   }
+   char cmd[1000];
 
+   this->hide();
+   
    bsnprintf(cmd, sizeof(cmd),
-             "label volume=\"%s\" pool=\"%s\" storage=\"%s\" slot=%s\n", 
-             volume, pool, storage, slot);
-   write_director(cmd);
-   set_text(cmd, strlen(cmd));
-#endif
+             "run job=\"%s\" fileset=\"%s\" level=%s client=\"%s\" pool=\"%s\" "
+             "when=\"%s\" storage=\"%s\" priority=\"%d\" yes\n",
+             jobCombo->currentText().toUtf8().data(),
+             filesetCombo->currentText().toUtf8().data(),
+             levelCombo->currentText().toUtf8().data(),
+             clientCombo->currentText().toUtf8().data(),
+             poolCombo->currentText().toUtf8().data(),
+//           dateTimeEdit->textFromDateTime(dateTimeEdit->dateTime()).toUtf8().data(),
+             "",
+             storageCombo->currentText().toUtf8().data(),
+             prioritySpin->value());
+
+// m_console->write(cmd);
+   m_console->display_text(cmd);
+   delete this;
 }
 
+
 void runDialog::reject()
 {
-   printf("Rejected\n");
+   mainWin->set_status(" Canceled");
    this->hide();
    delete this;
 }