src/EditProductTab3.cpp

changeset 305
35ce719998e1
parent 301
fe6346211b5b
child 363
313cdeb309d2
equal deleted inserted replaced
304:aa8d421bfc24 305:35ce719998e1
42 pWidget->setLayout(pLayout); 42 pWidget->setLayout(pLayout);
43 ui->fermentablesTable->setCellWidget(row, 10, pWidget); 43 ui->fermentablesTable->setCellWidget(row, 10, pWidget);
44 } else { 44 } else {
45 ui->fermentablesTable->removeCellWidget(row, 10); 45 ui->fermentablesTable->removeCellWidget(row, 10);
46 } 46 }
47 }
48
49
50 bool EditProduct::block_fermentable(int stage, int added)
51 {
52 if (stage > PROD_STAGE_PACKAGE)
53 return true;
54 if (stage > PROD_STAGE_TERTIARY && added < FERMENTABLE_ADDED_BOTTLE)
55 return true;
56 if (stage > PROD_STAGE_PRIMARY && added < FERMENTABLE_ADDED_LAGERING)
57 return true;
58 if (stage > PROD_STAGE_BREW && added < FERMENTABLE_ADDED_FERMENTATION)
59 return true;
60 return false;
47 } 61 }
48 62
49 63
50 void EditProduct::refreshFermentables() 64 void EditProduct::refreshFermentables()
51 { 65 {
105 119
106 item = new QTableWidgetItem(QString("%1 Kg").arg(product->fermentables.at(i).amount, 4, 'f', 3, '0')); 120 item = new QTableWidgetItem(QString("%1 Kg").arg(product->fermentables.at(i).amount, 4, 'f', 3, '0'));
107 item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); 121 item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter);
108 ui->fermentablesTable->setItem(i, 7, item); 122 ui->fermentablesTable->setItem(i, 7, item);
109 123
110 item = new QTableWidgetItem(QString("%1 Kg").arg(product->fermentables.at(i).inventory, 4, 'f', 3, '0')); 124 if (block_fermentable(product->stage, product->fermentables.at(i).added)) {
111 item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); 125 item = new QTableWidgetItem(QString(""));
112 if (product->fermentables.at(i).inventory < product->fermentables.at(i).amount) 126 } else {
113 item->setForeground(QBrush(QColor(Qt::red))); 127 item = new QTableWidgetItem(QString("%1 Kg").arg(product->fermentables.at(i).inventory, 4, 'f', 3, '0'));
128 item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter);
129 if (product->fermentables.at(i).inventory < product->fermentables.at(i).amount)
130 item->setForeground(QBrush(QColor(Qt::red)));
131 }
114 ui->fermentablesTable->setItem(i, 8, item); 132 ui->fermentablesTable->setItem(i, 8, item);
115 133
116 if (product->fermentables.at(i).added < FERMENTABLE_ADDED_BOTTLE) { 134 if (product->fermentables.at(i).added < FERMENTABLE_ADDED_BOTTLE) {
117 item = new QTableWidgetItem(QString("%1%").arg(product->fermentables.at(i).percentage, 2, 'f', 1, '0')); 135 item = new QTableWidgetItem(QString("%1%").arg(product->fermentables.at(i).percentage, 2, 'f', 1, '0'));
118 } else { 136 } else {
121 item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); 139 item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter);
122 ui->fermentablesTable->setItem(i, 9, item); 140 ui->fermentablesTable->setItem(i, 9, item);
123 141
124 to100Fermentables(i); 142 to100Fermentables(i);
125 143
126 /* Add the Delete row button */ 144 /* Add the Delete and Edit row buttons if allowed. */
127 if (product->fermentables.at(i).added < FERMENTABLE_ADDED_BOTTLE) { 145 if (product->fermentables.at(i).added >= FERMENTABLE_ADDED_BOTTLE) {
146 item = new QTableWidgetItem("");
147 item->setToolTip(tr("Edit this from the package tab"));
148 ui->fermentablesTable->setItem(i, 11, item);
149 item = new QTableWidgetItem("");
150 item->setToolTip(tr("Edit this from the package tab"));
151 ui->fermentablesTable->setItem(i, 12, item);
152 } else if (block_fermentable(product->stage, product->fermentables.at(i).added)) {
153 item = new QTableWidgetItem("");
154 item->setToolTip(tr("Fermentable already used"));
155 ui->fermentablesTable->setItem(i, 11, item);
156 item = new QTableWidgetItem("");
157 item->setToolTip(tr("Fermentable already used"));
158 ui->fermentablesTable->setItem(i, 12, item);
159 } else {
128 pWidget = new QWidget(); 160 pWidget = new QWidget();
129 QPushButton* btn_dele = new QPushButton(); 161 QPushButton* btn_dele = new QPushButton();
130 btn_dele->setObjectName(QString("%1").arg(i)); /* Send row with the button */ 162 btn_dele->setObjectName(QString("%1").arg(i)); /* Send row with the button */
131 btn_dele->setText(tr("Delete")); 163 btn_dele->setText(tr("Delete"));
132 connect(btn_dele, SIGNAL(clicked()), this, SLOT(deleteFermentRow_clicked())); 164 connect(btn_dele, SIGNAL(clicked()), this, SLOT(deleteFermentRow_clicked()));
144 pLayout = new QHBoxLayout(pWidget); 176 pLayout = new QHBoxLayout(pWidget);
145 pLayout->addWidget(btn_edit); 177 pLayout->addWidget(btn_edit);
146 pLayout->setContentsMargins(5, 0, 5, 0); 178 pLayout->setContentsMargins(5, 0, 5, 0);
147 pWidget->setLayout(pLayout); 179 pWidget->setLayout(pLayout);
148 ui->fermentablesTable->setCellWidget(i, 12, pWidget); 180 ui->fermentablesTable->setCellWidget(i, 12, pWidget);
149 } else {
150 item = new QTableWidgetItem("");
151 item->setToolTip(tr("Edit this from the package tab"));
152 ui->fermentablesTable->setItem(i, 11, item);
153 item = new QTableWidgetItem("");
154 item->setToolTip(tr("Edit this from the package tab"));
155 ui->fermentablesTable->setItem(i, 12, item);
156 } 181 }
157 } 182 }
158 } 183 }
159 184
160 185

mercurial