src/EditProductTab6.cpp

changeset 305
35ce719998e1
parent 301
fe6346211b5b
child 395
7212b980a527
equal deleted inserted replaced
304:aa8d421bfc24 305:35ce719998e1
26 return true; 26 return true;
27 return (D1.amount > D2.amount); 27 return (D1.amount > D2.amount);
28 } 28 }
29 29
30 30
31 bool EditProduct::block_yeast(int stage, int use)
32 {
33 if (stage > PROD_STAGE_PRIMARY && use < YEAST_USE_SECONDARY)
34 return true;
35 if (stage > PROD_STAGE_SECONDARY && use < YEAST_USE_TERTIARY)
36 return true;
37 if (stage > PROD_STAGE_TERTIARY && use < YEAST_USE_BOTTLE)
38 return true;
39 if (stage > PROD_STAGE_PACKAGE)
40 return true;
41 return false;
42 }
43
44
31 void EditProduct::refreshYeasts() 45 void EditProduct::refreshYeasts()
32 { 46 {
33 QString w; 47 QString w;
34 QWidget* pWidget; 48 QWidget* pWidget;
35 QHBoxLayout* pLayout; 49 QHBoxLayout* pLayout;
96 else 110 else
97 item = new QTableWidgetItem(QString("%1 ml").arg(product->yeasts.at(i).amount * 1000.0, 3, 'f', 2, '0')); 111 item = new QTableWidgetItem(QString("%1 ml").arg(product->yeasts.at(i).amount * 1000.0, 3, 'f', 2, '0'));
98 item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); 112 item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter);
99 ui->yeastsTable->setItem(i, 9, item); 113 ui->yeastsTable->setItem(i, 9, item);
100 114
101 if (product->yeasts.at(i).form == YEAST_FORMS_LIQUID) 115 if (block_yeast(product->stage, product->yeasts.at(i).use)) {
102 item = new QTableWidgetItem(QString("%1 pack").arg(product->yeasts.at(i).inventory, 1, 'f', 0, '0')); 116 item = new QTableWidgetItem(QString(""));
103 else if (product->yeasts.at(i).form == YEAST_FORMS_DRY || product->yeasts.at(i).form == YEAST_FORMS_DRIED) 117 } else {
104 item = new QTableWidgetItem(QString("%1 gr").arg(product->yeasts.at(i).inventory * 1000.0, 3, 'f', 2, '0')); 118 if (product->yeasts.at(i).form == YEAST_FORMS_LIQUID)
105 else 119 item = new QTableWidgetItem(QString("%1 pack").arg(product->yeasts.at(i).inventory, 1, 'f', 0, '0'));
106 item = new QTableWidgetItem(QString("%1 ml").arg(product->yeasts.at(i).inventory * 1000.0, 3, 'f', 2, '0')); 120 else if (product->yeasts.at(i).form == YEAST_FORMS_DRY || product->yeasts.at(i).form == YEAST_FORMS_DRIED)
107 item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter); 121 item = new QTableWidgetItem(QString("%1 gr").arg(product->yeasts.at(i).inventory * 1000.0, 3, 'f', 2, '0'));
108 if (product->yeasts.at(i).inventory < product->yeasts.at(i).amount) 122 else
109 item->setForeground(QBrush(QColor(Qt::red))); 123 item = new QTableWidgetItem(QString("%1 ml").arg(product->yeasts.at(i).inventory * 1000.0, 3, 'f', 2, '0'));
124 item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter);
125 if (product->yeasts.at(i).inventory < product->yeasts.at(i).amount)
126 item->setForeground(QBrush(QColor(Qt::red)));
127 }
110 ui->yeastsTable->setItem(i, 10, item); 128 ui->yeastsTable->setItem(i, 10, item);
111 129
112 pWidget = new QWidget(); 130 if (block_yeast(product->stage, product->yeasts.at(i).use)) {
113 QPushButton* btn_dele = new QPushButton(); 131 ui->yeastsTable->removeCellWidget(i, 11); /* to remove the unneeded button */
114 btn_dele->setObjectName(QString("%1").arg(i)); /* Send row with the button */ 132 item = new QTableWidgetItem("");
115 btn_dele->setText(tr("Delete")); 133 item->setToolTip(tr("Yeast already used"));
116 connect(btn_dele, SIGNAL(clicked()), this, SLOT(deleteYeastRow_clicked())); 134 ui->yeastsTable->setItem(i, 11, item);
117 pLayout = new QHBoxLayout(pWidget); 135 ui->yeastsTable->removeCellWidget(i, 12);
118 pLayout->addWidget(btn_dele); 136 item = new QTableWidgetItem("");
119 pLayout->setContentsMargins(5, 0, 5, 0); 137 item->setToolTip(tr("Yeast already used"));
120 pWidget->setLayout(pLayout); 138 ui->yeastsTable->setItem(i, 12, item);
121 ui->yeastsTable->setCellWidget(i, 11, pWidget); 139 } else {
122 140 pWidget = new QWidget();
123 pWidget = new QWidget(); 141 QPushButton* btn_dele = new QPushButton();
124 QPushButton* btn_edit = new QPushButton(); 142 btn_dele->setObjectName(QString("%1").arg(i)); /* Send row with the button */
125 btn_edit->setObjectName(QString("%1").arg(i)); /* Send row with the button */ 143 btn_dele->setText(tr("Delete"));
126 btn_edit->setText(tr("Edit")); 144 connect(btn_dele, SIGNAL(clicked()), this, SLOT(deleteYeastRow_clicked()));
127 connect(btn_edit, SIGNAL(clicked()), this, SLOT(editYeastRow_clicked())); 145 pLayout = new QHBoxLayout(pWidget);
128 pLayout = new QHBoxLayout(pWidget); 146 pLayout->addWidget(btn_dele);
129 pLayout->addWidget(btn_edit); 147 pLayout->setContentsMargins(5, 0, 5, 0);
130 pLayout->setContentsMargins(5, 0, 5, 0); 148 pWidget->setLayout(pLayout);
131 pWidget->setLayout(pLayout); 149 ui->yeastsTable->setCellWidget(i, 11, pWidget);
132 ui->yeastsTable->setCellWidget(i, 12, pWidget); 150
151 pWidget = new QWidget();
152 QPushButton* btn_edit = new QPushButton();
153 btn_edit->setObjectName(QString("%1").arg(i)); /* Send row with the button */
154 btn_edit->setText(tr("Edit"));
155 connect(btn_edit, SIGNAL(clicked()), this, SLOT(editYeastRow_clicked()));
156 pLayout = new QHBoxLayout(pWidget);
157 pLayout->addWidget(btn_edit);
158 pLayout->setContentsMargins(5, 0, 5, 0);
159 pWidget->setLayout(pLayout);
160 ui->yeastsTable->setCellWidget(i, 12, pWidget);
161 }
133 } 162 }
134 } 163 }
135 164
136 165
137 void EditProduct::initYeast() 166 void EditProduct::initYeast()

mercurial