src/EditProductTab1.cpp

changeset 219
fa7cad488e27
parent 214
641540dc6ef2
child 224
d369948a3eb5
equal deleted inserted replaced
218:725da10db56c 219:fa7cad488e27
200 stage = PROD_STAGE_WAIT; 200 stage = PROD_STAGE_WAIT;
201 if ((stage == PROD_STAGE_WAIT) && (product->brew_date_start.date().isValid())) 201 if ((stage == PROD_STAGE_WAIT) && (product->brew_date_start.date().isValid()))
202 stage = PROD_STAGE_BREW; 202 stage = PROD_STAGE_BREW;
203 if ((stage == PROD_STAGE_BREW) && (! product->brew_date_start.date().isValid())) 203 if ((stage == PROD_STAGE_BREW) && (! product->brew_date_start.date().isValid()))
204 stage = PROD_STAGE_WAIT; 204 stage = PROD_STAGE_WAIT;
205 /* from PROD_STAGE_BREW to PROD_STAGE_PRIMARY is handled in EditProductTab9.cpp */
206 /* from PROD_STAGE_PRIMARY to PROD_STAGE_SECONDARY is handled in EditProductTab10.cpp */
205 207
206 if (product->stage != stage) { 208 if (product->stage != stage) {
207 qDebug() << "setStage() change state:" << prod_stages[product->stage] << "to:" << prod_stages[stage]; 209 qDebug() << "setStage() change state:" << prod_stages[product->stage] << "to:" << prod_stages[stage];
208 product->stage = stage; 210 product->stage = stage;
209 is_changed(); 211 is_changed();
310 ui->brew_ackButton->hide(); 312 ui->brew_ackButton->hide();
311 if (product->stage < PROD_STAGE_BREW) { 313 if (product->stage < PROD_STAGE_BREW) {
312 ui->brew_startButton1->show(); 314 ui->brew_startButton1->show();
313 ui->brew_startButton2->show(); 315 ui->brew_startButton2->show();
314 ui->brew_startDate->setReadOnly(false); 316 ui->brew_startDate->setReadOnly(false);
317 ui->brew_startDate->setMinimumDate(product->birth.addDays(-1)); // The birth date is the first valid date.
315 ui->brew_endButton1->hide(); 318 ui->brew_endButton1->hide();
316 ui->brew_startLabel2->hide(); 319 ui->brew_startLabel2->hide();
317 ui->brew_endLabel->hide(); 320 ui->brew_endLabel->hide();
318 ui->brew_endLabel2->hide(); 321 ui->brew_endLabel2->hide();
319 ui->brew_startTime->hide(); 322 ui->brew_startTime->hide();
420 ui->brew_topupwaterEdit->setReadOnly(stage > PROD_STAGE_BREW); 423 ui->brew_topupwaterEdit->setReadOnly(stage > PROD_STAGE_BREW);
421 ui->brew_topupwaterEdit->setButtonSymbols( (stage > PROD_STAGE_BREW) ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows); 424 ui->brew_topupwaterEdit->setButtonSymbols( (stage > PROD_STAGE_BREW) ? QAbstractSpinBox::NoButtons : QAbstractSpinBox::UpDownArrows);
422 425
423 /* Tab 10, fermentation */ 426 /* Tab 10, fermentation */
424 ui->tabWidget->setTabEnabled(9, stage > PROD_STAGE_WAIT); 427 ui->tabWidget->setTabEnabled(9, stage > PROD_STAGE_WAIT);
425 428 ui->prim_enddateEdit->setReadOnly(true);
429 ui->prim_enddateEdit->setButtonSymbols(QAbstractSpinBox::NoButtons);
430 ui->prim_enddateButton->hide();
431 ui->prim_ackButton->hide();
432 ui->sec_enddateEdit->setReadOnly(true);
433 ui->sec_enddateEdit->setButtonSymbols(QAbstractSpinBox::NoButtons);
434 ui->sec_enddateButton->hide();
435 ui->sec_ackButton->hide();
436 ui->prim_startCEdit->setReadOnly(product->stage != PROD_STAGE_PRIMARY);
437 ui->prim_startCEdit->setButtonSymbols((product->stage == PROD_STAGE_PRIMARY) ? QAbstractSpinBox::UpDownArrows : QAbstractSpinBox::NoButtons);
438 ui->prim_maxCEdit->setReadOnly(product->stage != PROD_STAGE_PRIMARY);
439 ui->prim_maxCEdit->setButtonSymbols((product->stage == PROD_STAGE_PRIMARY) ? QAbstractSpinBox::UpDownArrows : QAbstractSpinBox::NoButtons);
440 ui->prim_endCEdit->setReadOnly(product->stage != PROD_STAGE_PRIMARY);
441 ui->prim_endCEdit->setButtonSymbols((product->stage == PROD_STAGE_PRIMARY) ? QAbstractSpinBox::UpDownArrows : QAbstractSpinBox::NoButtons);
442 ui->prim_endsgEdit->setReadOnly(product->stage != PROD_STAGE_PRIMARY);
443 ui->prim_endsgEdit->setButtonSymbols((product->stage == PROD_STAGE_PRIMARY) ? QAbstractSpinBox::UpDownArrows : QAbstractSpinBox::NoButtons);
444 if (product->stage == PROD_STAGE_PRIMARY)
445 ui->prim_endsgButton->show();
446 else
447 ui->prim_endsgButton->hide();
448 if ((product->primary_start_temp > 0) && (product->primary_max_temp > 0) && (product->primary_end_temp > 0) &&
449 (product->primary_end_sg > 0.980) && (product->stage == PROD_STAGE_PRIMARY)) {
450 ui->prim_enddateEdit->setReadOnly(false);
451 ui->prim_enddateEdit->setButtonSymbols(QAbstractSpinBox::UpDownArrows);
452 ui->prim_enddateEdit->setMinimumDate(product->brew_date_end.date());
453 ui->prim_enddateEdit->setMaximumDate(QDate::currentDate());
454 ui->prim_enddateButton->show();
455 if (product->primary_end_date.isValid()) {
456 ui->prim_ackButton->show();
457 }
458 }
459 ui->sec_tempEdit->setReadOnly(product->stage != PROD_STAGE_SECONDARY);
460 ui->sec_tempEdit->setButtonSymbols((product->stage == PROD_STAGE_SECONDARY) ? QAbstractSpinBox::UpDownArrows : QAbstractSpinBox::NoButtons);
461 ui->sec_sgEdit->setReadOnly(product->stage != PROD_STAGE_SECONDARY);
462 ui->sec_sgEdit->setButtonSymbols((product->stage == PROD_STAGE_SECONDARY) ? QAbstractSpinBox::UpDownArrows : QAbstractSpinBox::NoButtons);
463 if (product->stage == PROD_STAGE_SECONDARY)
464 ui->sec_sgButton->show();
465 else
466 ui->sec_sgButton->hide();
467 if ((product->secondary_end_sg > 0.980) && (product->secondary_temp > 0) && (product->stage == PROD_STAGE_SECONDARY)) {
468 ui->sec_enddateEdit->setReadOnly(false);
469 ui->sec_enddateEdit->setButtonSymbols(QAbstractSpinBox::UpDownArrows);
470 ui->sec_enddateEdit->setMinimumDate(product->primary_end_date.addDays(-1)); // Allow same date as primary end.
471 ui->sec_enddateEdit->setMaximumDate(QDate::currentDate());
472 ui->sec_enddateButton->show();
473 if (product->secondary_end_date.isValid()) {
474 ui->sec_ackButton->show();
475 }
476 }
477 ui->tert_tempEdit->setReadOnly(product->stage != PROD_STAGE_TERTIARY);
478 ui->tert_tempEdit->setButtonSymbols((product->stage == PROD_STAGE_TERTIARY) ? QAbstractSpinBox::UpDownArrows : QAbstractSpinBox::NoButtons);
479 ui->tert_sgEdit->setReadOnly(product->stage != PROD_STAGE_TERTIARY);
480 ui->tert_sgEdit->setButtonSymbols((product->stage == PROD_STAGE_TERTIARY) ? QAbstractSpinBox::UpDownArrows : QAbstractSpinBox::NoButtons);
481 if (product->stage == PROD_STAGE_TERTIARY)
482 ui->tert_sgButton->show();
483 else
484 ui->tert_sgButton->hide();
426 485
427 /* Tab 11, packaging */ 486 /* Tab 11, packaging */
428 ui->tabWidget->setTabEnabled(10, stage > PROD_STAGE_PLAN); 487 ui->tabWidget->setTabEnabled(10, stage > PROD_STAGE_PLAN);
429 488
430 489

mercurial