Skip to content

Commit

Permalink
merge core
Browse files Browse the repository at this point in the history
  • Loading branch information
BourgeoisLab committed May 26, 2022
1 parent 0e5afac commit 90b8264
Show file tree
Hide file tree
Showing 28 changed files with 416 additions and 143 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# Changelog

## Version 2.4.0 (25.05.2022)
- Neu: Kompatibel zum kleiner-brauhelfer-2 v2.4.0

## Version 2.3.0 (25.03.2021)
- Neu: Kompatibel zum kleiner-brauhelfer-2 v2.3.0

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Die kleiner-brauhelfer-app ist eine App, welche die Software [kleiner-brauhelfer
https://hobbybrauer.de/forum/viewtopic.php?f=3&t=17466

## Download letzte Version
- [Version 2.3.0](https://github.com/kleiner-brauhelfer/kleiner-brauhelfer-app/releases/latest) passend zum [kleinen-brauhelfer-2](https://github.com/kleiner-brauhelfer/kleiner-brauhelfer-2)
- [Version 2.4.0](https://github.com/kleiner-brauhelfer/kleiner-brauhelfer-app/releases/latest) passend zum [kleinen-brauhelfer-2](https://github.com/kleiner-brauhelfer/kleiner-brauhelfer-2)
- [Version 1.0.0](https://github.com/kleiner-brauhelfer/kleiner-brauhelfer-app/releases/tag/v1.0.0) passend zum [kleinen-brauhelfer bis 1.4.4.6](https://github.com/Gremmel/kleiner-brauhelfer)

## Änderungen & Erweiterungen
Expand Down
2 changes: 1 addition & 1 deletion kleiner-brauhelfer-app/kleiner-brauhelfer-app.pro
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ android: QT += androidextras
ORGANIZATION = kleiner-brauhelfer
TARGET = kleiner-brauhelfer-app
VER_MAJ = 2
VER_MIN = 3
VER_MIN = 4
VER_PAT = 0
VERSION = $$sprintf("%1.%2.%3",$$VER_MAJ,$$VER_MIN,$$VER_PAT)
DEFINES += ORGANIZATION=\\\"$$ORGANIZATION\\\" TARGET=\\\"$$TARGET\\\" VERSION=\\\"$$VERSION\\\"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -510,6 +510,7 @@ PageBase {
anchors.fill: parent
wrapMode: TextArea.Wrap
placeholderText: qsTr("Bemerkung")
textFormat: Text.RichText
text: model.Bemerkung
onTextChanged: if (activeFocus) model.Bemerkung = text
}
Expand Down
1 change: 1 addition & 0 deletions kleiner-brauhelfer-app/qml/pagesGlobal/PageGlobalWater.qml
Original file line number Diff line number Diff line change
Expand Up @@ -553,6 +553,7 @@ PageBase {
Layout.fillWidth: true
wrapMode: TextArea.Wrap
placeholderText: qsTr("Bemerkung")
textFormat: Text.RichText
text: model.Bemerkung
onTextChanged: if (activeFocus) model.Bemerkung = text
}
Expand Down
48 changes: 1 addition & 47 deletions kleiner-brauhelfer-app/qml/pagesOthers/PageAbout.qml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ PageBase {
wrapMode: Text.Wrap
Layout.fillWidth: true
textFormat: Text.RichText
text: qsTr("Diese App dient als Ergänzung zum Programm <a href=\"https://github.com/kleiner-brauhelfer/kleiner-brauhelfer-2\">kleiner-brauhelfer-2</a>.")
text: qsTr("Diese App dient als Ergänzung zum Programm <a href=\"http://kleiner-brauhelfer.github.io\">kleiner-brauhelfer-2</a>.")
onLinkActivated: Qt.openUrlExternally(link)
}

Expand All @@ -42,52 +42,6 @@ PageBase {
onLinkActivated: Qt.openUrlExternally(link)
}

LabelPrim {
wrapMode: Text.Wrap
Layout.fillWidth: true
textFormat: Text.RichText
text: qsTr("Der kleine-brauhelfer-2 ist als angepasste <a href=\"https://de.wikipedia.org/wiki/Beerware\">Beerware</a> lizenziert.");
}

LabelPrim {
wrapMode: Text.Wrap
Layout.fillWidth: true
textFormat: Text.RichText
text: qsTr("<em>Während die Nutzung generell kostenlos ist, erbittet der Autor von Beerware vom Nutzer dem Autor<br/>- bei Gelegenheit ein Bier auszugeben oder<br/>- ein Bier auf das Wohl des Autors zu trinken oder<br/>- dem Autor ein <strong>selbstgebrautes Bier zu schicken</<strong>.</em>")
onLinkActivated: Qt.openUrlExternally(link)
}

LabelPrim {
wrapMode: Text.Wrap
Layout.fillWidth: true
textFormat: Text.RichText
text: qsTr("Die Einhaltung dieser Lizenzierungsbestimmung erfolgt auf freiwilliger Basis.")
onLinkActivated: Qt.openUrlExternally(link)
}

LabelPrim {
wrapMode: Text.Wrap
Layout.fillWidth: true
textFormat: Text.RichText
text: qsTr("<strong>Anschrift Deutschland:<br/></strong>Bourgeois Frédéric<br/>c/o LAS Burg 12002<br/>Hauptstraße 396<br/>D-79576 Weil am Rhein")
onLinkActivated: Qt.openUrlExternally(link)
}

LabelPrim {
wrapMode: Text.Wrap
Layout.fillWidth: true
textFormat: Text.RichText
text: qsTr("<strong>Anschrift Schweiz:<br/></strong>Bourgeois Frédéric<br/>Lehenmattstrasse 158<br/>CH-4052 Basel")
onLinkActivated: Qt.openUrlExternally(link)
}

LabelPrim {
wrapMode: Text.Wrap
Layout.fillWidth: true
textFormat: Text.RichText
text: qsTr("Ich würde mich über ein leckeres Bier sehr freuen!")
onLinkActivated: Qt.openUrlExternally(link)
}
}
}
}
1 change: 1 addition & 0 deletions kleiner-brauhelfer-app/qml/pagesSud/PageSudAbfuellen.qml
Original file line number Diff line number Diff line change
Expand Up @@ -584,6 +584,7 @@ PageBase {
opacity: enabled ? app.config.textOpacityFull : app.config.textOpacityDisabled
wrapMode: TextArea.Wrap
placeholderText: qsTr("Bemerkung")
textFormat: Text.RichText
text: Brauhelfer.sud.BemerkungAbfuellen
onTextChanged: if (activeFocus) Brauhelfer.sud.BemerkungAbfuellen = text
}
Expand Down
1 change: 1 addition & 0 deletions kleiner-brauhelfer-app/qml/pagesSud/PageSudBewertung.qml
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,7 @@ PageBase {
Layout.fillWidth: true
wrapMode: TextArea.Wrap
placeholderText: qsTr("Bemerkung")
textFormat: Text.RichText
text: model.Bemerkung
onTextChanged: if (activeFocus) model.Bemerkung = text
}
Expand Down
130 changes: 73 additions & 57 deletions kleiner-brauhelfer-app/qml/pagesSud/PageSudBrauen.qml
Original file line number Diff line number Diff line change
Expand Up @@ -948,18 +948,12 @@ PageBase {
HorizontalDivider {
Layout.fillWidth: true
}
LabelPrim {
Layout.fillWidth: true
font.bold: true
text: qsTr("Hopfenseihen")
}
GridLayout {
Layout.leftMargin: 8
columnSpacing: 16
columns: 3
RowLayout {
spacing: 16
LabelPrim {
Layout.fillWidth: true
visible: Brauhelfer.sud.Nachisomerisierungszeit > 0.0
font.bold: true
text: qsTr("Nachisomerisierung")
}
LabelNumber {
Expand All @@ -971,53 +965,41 @@ PageBase {
visible: Brauhelfer.sud.Nachisomerisierungszeit > 0.0
text: qsTr("min")
}
Repeater {
model: Brauhelfer.sud.modelHopfengaben
delegate: RowLayout {
Layout.columnSpan: 3
spacing: 16
visible: model.Vorderwuerze !== Brauhelfer.HopfenZeitpunkt.Vorderwuerze && model.Zeit <= 0
LabelPrim {
Layout.fillWidth: true
text: model.Name + " (" + model.Alpha + "%)"
}
LabelNumber {
value: model.erg_Menge
}
LabelUnit {
text: qsTr("g")
}
LabelNumber {
precision: 0
value: -model.Zeit
}
LabelUnit {
text: qsTr("min")
}
}
HorizontalDivider {
Layout.fillWidth: true
visible: repeaterHopfengabenAusschlagen.count > 0
}
LabelPrim {
Layout.fillWidth: true
visible: repeaterHopfengabenAusschlagen.count > 0
font.bold: true
text: qsTr("Hopfen Ausschlagen")
}
Repeater {
id: repeaterHopfengabenAusschlagen
model: Brauhelfer.sud.modelHopfengaben
delegate: RowLayout {
Layout.leftMargin: 8
spacing: 16
visible: model.Vorderwuerze !== Brauhelfer.HopfenZeitpunkt.Vorderwuerze && model.Zeit <= 0
LabelPrim {
Layout.fillWidth: true
text: model.Name + " (" + model.Alpha + "%)"
}
LabelNumber {
value: model.erg_Menge
}
LabelUnit {
text: qsTr("g")
}
LabelNumber {
precision: 0
value: -model.Zeit
}
LabelUnit {
text: qsTr("min")
}
}
LabelPrim {
Layout.fillWidth: true
text: qsTr("Würzemenge nach Hopfenseihen bei 20°C")
}
TextFieldVolume {
enabled: !page.readOnly
useDialog: true
value: Brauhelfer.sud.WuerzemengeKochende
onNewValue: Brauhelfer.sud.WuerzemengeKochende = value
}
LabelUnit {
text: qsTr("l")
}
LabelPrim {
Layout.fillWidth: true
text: qsTr("Verlust")
}
LabelNumber {
value: Brauhelfer.sud.WuerzemengeVorHopfenseihen - Brauhelfer.sud.WuerzemengeKochende
}
LabelUnit {
text: qsTr("l")
}
}
}
Expand Down Expand Up @@ -1155,10 +1137,43 @@ PageBase {
columnSpacing: 16
LabelPrim {
Layout.fillWidth: true
text: qsTr("Würzemenge")
text: qsTr("Würzemenge nach Hopfenseihen")
}
TextFieldVolume {
enabled: !page.readOnly
value: Brauhelfer.sud.WuerzemengeKochende
onNewValue: Brauhelfer.sud.WuerzemengeKochende = value
}
LabelUnit {
text: qsTr("l")
}
LabelPrim {
Layout.fillWidth: true
text: qsTr("Verlust")
}
LabelNumber {
value: Brauhelfer.sud.WuerzemengeVorHopfenseihen - Brauhelfer.sud.WuerzemengeKochende
}
LabelUnit {
text: qsTr("l")
}
LabelPrim {
Layout.fillWidth: true
text: qsTr("Wassermenge für Verdünnung")
}
TextFieldVolume {
enabled: !page.readOnly
value: Brauhelfer.sud.VerduennungAnstellen
onNewValue: Brauhelfer.sud.VerduennungAnstellen = value
}
LabelUnit {
text: qsTr("l")
}
LabelPrim {
Layout.fillWidth: true
text: qsTr("Gesamtwürzemenge")
}
TextFieldVolume {
id: tfWuerzemenge
enabled: !page.readOnly
value: Brauhelfer.sud.WuerzemengeAnstellenTotal
onNewValue: Brauhelfer.sud.WuerzemengeAnstellenTotal = value
Expand Down Expand Up @@ -1340,6 +1355,7 @@ PageBase {
opacity: enabled ? app.config.textOpacityFull : app.config.textOpacityDisabled
wrapMode: TextArea.Wrap
placeholderText: qsTr("Bemerkung")
textFormat: Text.RichText
text: Brauhelfer.sud.BemerkungBrauen
onTextChanged: if (activeFocus) Brauhelfer.sud.BemerkungBrauen = text
}
Expand Down
1 change: 1 addition & 0 deletions kleiner-brauhelfer-app/qml/pagesSud/PageSudGaerung.qml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ PageBase {
opacity: enabled ? app.config.textOpacityFull : app.config.textOpacityDisabled
wrapMode: TextArea.Wrap
placeholderText: qsTr("Bemerkung")
textFormat: Text.RichText
text: Brauhelfer.sud.BemerkungGaerung
onTextChanged: if (activeFocus) Brauhelfer.sud.BemerkungGaerung = text
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,7 @@ PageBase {
Layout.fillWidth: true
Layout.leftMargin: 8
Layout.rightMargin: 8
model: [qsTr("Terrill"), qsTr("Terrill Linear"), qsTr("Standard")]
model: [qsTr("Terrill"), qsTr("Terrill Linear"), qsTr("Standard"), qsTr("Novotny")]
currentIndex: app.settings.refractometerIndex
opacity: enabled ? app.config.textOpacityFull : app.config.textOpacityDisabled
onCurrentIndexChanged: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -336,7 +336,7 @@ PageBase {
Layout.fillWidth: true
Layout.leftMargin: 8
Layout.rightMargin: 8
model: [qsTr("Terrill"), qsTr("Terrill Linear"), qsTr("Standard")]
model: [qsTr("Terrill"), qsTr("Terrill Linear"), qsTr("Standard"), qsTr("Novotny")]
currentIndex: app.settings.refractometerIndex
opacity: enabled ? app.config.textOpacityFull : app.config.textOpacityDisabled
onCurrentIndexChanged: {
Expand Down
1 change: 1 addition & 0 deletions kleiner-brauhelfer-app/qml/pagesSud/PageSudInfo.qml
Original file line number Diff line number Diff line change
Expand Up @@ -483,6 +483,7 @@ PageBase {
opacity: enabled ? app.config.textOpacityFull : app.config.textOpacityDisabled
wrapMode: TextArea.Wrap
placeholderText: qsTr("Bemerkung")
textFormat: Text.RichText
text: Brauhelfer.sud.Kommentar
onTextChanged: if (activeFocus) Brauhelfer.sud.Kommentar = text
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ PageBase {
Layout.fillWidth: true
Layout.leftMargin: 8
Layout.rightMargin: 8
model: [qsTr("Terrill"), qsTr("Terrill Linear"), qsTr("Standard")]
model: [qsTr("Terrill"), qsTr("Terrill Linear"), qsTr("Standard"), qsTr("Novotny")]
currentIndex: app.settings.refractometerIndex
opacity: enabled ? app.config.textOpacityFull : app.config.textOpacityDisabled
onCurrentIndexChanged: {
Expand Down Expand Up @@ -245,6 +245,13 @@ PageBase {
font.italic: true
text: qsTr("Die Standardformel liefert gleichmässig gute Werte, in endvergorenen Proben aber etwas zu hoch.")
}

LabelPrim {
Layout.fillWidth: true
wrapMode: Text.WordWrap
font.italic: true
text: qsTr("Die Novotny-Formel ist eine weitere Möglichkeit.")
}
}
}
}
23 changes: 14 additions & 9 deletions kleiner-brauhelfer-core/biercalc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
#include <cmath>
#include <limits>


double BierCalc::faktorPlatoToBrix = 1.03;

double BierCalc::brixToPlato(double brix)
Expand All @@ -28,6 +29,12 @@ double BierCalc::brixToDichte(double sw, double brix, FormulaBrixToPlato formel)
return 1.0000 - 0.00085683*sw + 0.0034941*b;
case Standard:
return 1.001843-0.002318474*sw - 0.000007775*sw*sw - 0.000000034*sw*sw*sw + 0.00574*brix + 0.00003344*brix*brix + 0.000000086*brix*brix*brix;
case Novotny:
// http://www.diversity.beer/2017/01/pocitame-nova-korekce-refraktometru.html
return (-1 * 0.002349)*sw + 0.006276*b + 1;

// quadratische Formel, laut Novotny geringfügig genauer, damit aber genauer als die Messungenauigkeit, daher reicht die lineare Formel aus.
//return 1.335*pow(10,-5)*pow(sw,2) - 3.239*pow(10,-5)*sw*b + 2.961*pow(10,-5)*pow(b,2) - 2.421*pow(10,-3)*sw + 6.219*pow(10, -3)*b + 1;
default:
return 0.0;
}
Expand Down Expand Up @@ -175,12 +182,9 @@ double BierCalc::toSRE(double sw, double tre)

double BierCalc::vergaerungsgrad(double sw, double re)
{
if (sw <= 0.0)
if (sw == 0.0)
return 0.0;
double res = (1 - re / sw) * 100;
if (res < 0.0)
res = 0.0;
return res;
return (1 - re / sw) * 100;
}

double BierCalc::sreAusVergaerungsgrad(double sw, double vg)
Expand Down Expand Up @@ -226,12 +230,13 @@ double BierCalc::p(double co2, double T)
double BierCalc::gruenschlauchzeitpunkt(double co2Soll, double sw, double sreSchnellgaerprobe, double T)
{
double tre = toTRE(sw, sreSchnellgaerprobe);
if (tre < 0.0)
tre = 0.0;
double co2Noetig = co2Soll - co2(0.0, T);
double extraktCO2 = co2Noetig / (co2Zucker() * 10);
double res = toSRE(sw, tre + extraktCO2);
if (res < 0.0)
res = 0.0;
return res;
if (extraktCO2 < 0.0)
extraktCO2 = 0.0;
return toSRE(sw, tre + extraktCO2);
}

double BierCalc::spundungsdruck(double co2Soll, double T)
Expand Down
Loading

0 comments on commit 90b8264

Please sign in to comment.