src/EditRecipeTab6.cpp

changeset 144
c4b107bf153a
parent 128
0f4eee875ea6
child 145
fd4f0de86fd9
--- a/src/EditRecipeTab6.cpp	Mon Apr 18 21:56:11 2022 +0200
+++ b/src/EditRecipeTab6.cpp	Tue Apr 19 11:17:16 2022 +0200
@@ -20,6 +20,155 @@
 
 void EditRecipe::refreshMashs()
 {
+    QString w;
+    QWidget* pWidget;
+    QHBoxLayout* pLayout;
+    QTableWidgetItem *item;
+
+    qDebug() << "refreshYeasts" << recipe->yeasts.size();
+    std::sort(recipe->yeasts.begin(), recipe->yeasts.end(), yeast_sort_test);
+
+    /*
+     * During filling the table turn off the cellChanged signal because every cell that is filled
+     * triggers the cellChanged signal. The QTableWidget has no better signal to use.
+     */
+    this->ignoreChanges = true;
+
+    const QStringList labels({tr("Step name"), tr("Type"), tr("Start"), tr("End"), tr("Rest"), tr("Ramp"),
+			      tr("Inf/dec"), tr("Inf/dec"), tr("Volume"), tr("W/G ratio"), "", "", tr("Delete"), tr("Edit") });
+
+    ui->mashsTable->setColumnCount(14);
+    ui->mashsTable->setColumnWidth(0, 189);	/* Step name	*/
+    ui->mashsTable->setColumnWidth(1, 100);	/* Type		*/
+    ui->mashsTable->setColumnWidth(2,  70);	/* Start temp	*/
+    ui->mashsTable->setColumnWidth(3,  70);	/* End temp	*/
+    ui->mashsTable->setColumnWidth(4,  70);	/* Rest time	*/
+    ui->mashsTable->setColumnWidth(5,  70);	/* Ramp time	*/
+    ui->mashsTable->setColumnWidth(6,  70);	/* Infusion vol	*/
+    ui->mashsTable->setColumnWidth(7,  70);     /* Infusion tmp	*/
+    ui->mashsTable->setColumnWidth(8,  70);	/* Volume	*/
+    ui->mashsTable->setColumnWidth(9,  80);	/* W/G ratio	*/
+    ui->mashsTable->setColumnWidth(10, 30);	/* Up button	*/
+    ui->mashsTable->setColumnWidth(11, 30);	/* Down button	*/
+    ui->mashsTable->setColumnWidth(12, 80);	/* Delete	*/
+    ui->mashsTable->setColumnWidth(13, 80);	/* Edit		*/
+    ui->mashsTable->setHorizontalHeaderLabels(labels);
+    ui->mashsTable->verticalHeader()->hide();
+    ui->mashsTable->setRowCount(recipe->mashs.size());
+
+    for (int i = 0; i < recipe->mashs.size(); i++) {
+
+	ui->mashsTable->setItem(i, 0, new QTableWidgetItem(recipe->mashs.at(i).step_name));
+
+	item = new QTableWidgetItem(step_types[recipe->mashs.at(i).step_type]);
+        item->setTextAlignment(Qt::AlignCenter|Qt::AlignVCenter);
+        ui->mashsTable->setItem(i, 1, item);
+
+	item = new QTableWidgetItem(QString("%1 °C").arg(recipe->mashs.at(i).step_temp, 2, 'f', 1, '0'));
+	item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter);
+	ui->mashsTable->setItem(i, 2, item);
+
+	item = new QTableWidgetItem(QString("%1 °C").arg(recipe->mashs.at(i).end_temp, 2, 'f', 1, '0'));
+        item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter);
+        ui->mashsTable->setItem(i, 3, item);
+
+	item = new QTableWidgetItem(QString("%1 min").arg(recipe->mashs.at(i).step_time, 1, 'f', 0, '0'));
+        item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter);
+        ui->mashsTable->setItem(i, 4, item);
+
+	item = new QTableWidgetItem(QString("%1 min").arg(recipe->mashs.at(i).ramp_time, 1, 'f', 0, '0'));
+        item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter);
+        ui->mashsTable->setItem(i, 5, item);
+
+	if (recipe->mashs.at(i).step_infuse_amount) {
+	    item = new QTableWidgetItem(QString("%1 L").arg(recipe->mashs.at(i).step_infuse_amount, 2, 'f', 1, '0'));
+            item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter);
+            ui->mashsTable->setItem(i, 6, item);
+	    item = new QTableWidgetItem(QString("%1 °C").arg(recipe->mashs.at(i).step_infuse_temp, 3, 'f', 2, '0'));
+            item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter);
+            ui->mashsTable->setItem(i, 7, item);
+	} else {
+	    ui->mashsTable->removeCellWidget(i, 6);
+	    ui->mashsTable->removeCellWidget(i, 7);
+	}
+
+	item = new QTableWidgetItem(QString("%1 L").arg(recipe->mashs.at(i).step_volume, 2, 'f', 1, '0'));
+        item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter);
+        ui->mashsTable->setItem(i, 8, item);
+
+	item = new QTableWidgetItem(QString("%1 L/kg").arg(recipe->mashs.at(i).step_wg_ratio, 3, 'f', 2, '0'));
+        item->setTextAlignment(Qt::AlignRight|Qt::AlignVCenter);
+        ui->mashsTable->setItem(i, 9, item);
+
+	pWidget = new QWidget();
+        QPushButton* btn_up = new QPushButton();
+        btn_up->setObjectName(QString("%1").arg(i));  /* Send row with the button */
+        btn_up->setText(tr("U"));
+        connect(btn_up, SIGNAL(clicked()), this, SLOT(upMashRow_clicked()));
+        pLayout = new QHBoxLayout(pWidget);
+        pLayout->addWidget(btn_up);
+        pLayout->setContentsMargins(5, 0, 5, 0);
+        pWidget->setLayout(pLayout);
+        ui->mashsTable->setCellWidget(i, 10, pWidget);
+
+	pWidget = new QWidget();
+        QPushButton* btn_down = new QPushButton();
+        btn_down->setObjectName(QString("%1").arg(i));  /* Send row with the button */
+        btn_down->setText(tr("D"));
+        connect(btn_down, SIGNAL(clicked()), this, SLOT(downMashRow_clicked()));
+        pLayout = new QHBoxLayout(pWidget);
+        pLayout->addWidget(btn_down);
+        pLayout->setContentsMargins(5, 0, 5, 0);
+        pWidget->setLayout(pLayout);
+        ui->mashsTable->setCellWidget(i, 11, pWidget);
+
+	pWidget = new QWidget();
+        QPushButton* btn_dele = new QPushButton();
+        btn_dele->setObjectName(QString("%1").arg(i));  /* Send row with the button */
+        btn_dele->setText(tr("Delete"));
+        connect(btn_dele, SIGNAL(clicked()), this, SLOT(deleteMashRow_clicked()));
+        pLayout = new QHBoxLayout(pWidget);
+        pLayout->addWidget(btn_dele);
+        pLayout->setContentsMargins(5, 0, 5, 0);
+        pWidget->setLayout(pLayout);
+        ui->mashsTable->setCellWidget(i, 12, pWidget);
+
+        pWidget = new QWidget();
+        QPushButton* btn_edit = new QPushButton();
+        btn_edit->setObjectName(QString("%1").arg(i));  /* Send row with the button */
+        btn_edit->setText(tr("Edit"));
+        connect(btn_edit, SIGNAL(clicked()), this, SLOT(editMashRow_clicked()));
+        pLayout = new QHBoxLayout(pWidget);
+        pLayout->addWidget(btn_edit);
+        pLayout->setContentsMargins(5, 0, 5, 0);
+        pWidget->setLayout(pLayout);
+        ui->mashsTable->setCellWidget(i, 13, pWidget);
+    }
 }
 
 
+void EditRecipe::addMashRow_clicked()
+{
+}
+
+
+void EditRecipe::deleteMashRow_clicked()
+{
+}
+
+
+void EditRecipe::upMashRow_clicked()
+{
+}
+
+
+void EditRecipe::downMashRow_clicked()
+{
+}
+
+
+void EditRecipe::editMashRow_clicked()
+{
+}
+
+

mercurial