Diffstat (limited to 'noncore/apps/opie-bartender/bac.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/apps/opie-bartender/bac.cpp | 33 |
1 files changed, 23 insertions, 10 deletions
diff --git a/noncore/apps/opie-bartender/bac.cpp b/noncore/apps/opie-bartender/bac.cpp index c97a253..2e74029 100644 --- a/noncore/apps/opie-bartender/bac.cpp +++ b/noncore/apps/opie-bartender/bac.cpp | |||
@@ -35,9 +35,9 @@ BacDialog::BacDialog( QWidget* parent, const char* name, bool modal, WFlags fl | |||
35 | NumberSpinBox = new QSpinBox( this, "NumberSpinBox" ); | 35 | NumberSpinBox = new QSpinBox( this, "NumberSpinBox" ); |
36 | Layout1->addWidget( NumberSpinBox ); | 36 | Layout1->addWidget( NumberSpinBox ); |
37 | 37 | ||
38 | TextLabel1 = new QLabel(this, "TextLabel1" ); | 38 | TextLabel1 = new QLabel(this, "TextLabel1" ); |
39 | TextLabel1->setText( tr( "Number of Drinks Consumed" ) ); | 39 | TextLabel1->setText( tr( "# Drinks Consumed" ) ); |
40 | Layout1->addWidget( TextLabel1 ); | 40 | Layout1->addWidget( TextLabel1 ); |
41 | Layout7->addLayout( Layout1 ); | 41 | Layout7->addLayout( Layout1 ); |
42 | 42 | ||
43 | Layout2 = new QHBoxLayout; | 43 | Layout2 = new QHBoxLayout; |
@@ -52,8 +52,17 @@ BacDialog::BacDialog( QWidget* parent, const char* name, bool modal, WFlags fl | |||
52 | TextLabel2->setText( tr( "Weight" ) ); | 52 | TextLabel2->setText( tr( "Weight" ) ); |
53 | Layout2->addWidget( TextLabel2 ); | 53 | Layout2->addWidget( TextLabel2 ); |
54 | Layout7->addLayout( Layout2 ); | 54 | Layout7->addLayout( Layout2 ); |
55 | 55 | ||
56 | weightUnitsCombo =new QComboBox( FALSE, this, "unitComboBox" ); | ||
57 | weightUnitsCombo->insertItem( tr( "Kilos" ) ); | ||
58 | weightUnitsCombo->insertItem( tr( "Pounds" ) ); | ||
59 | Layout2->addWidget( weightUnitsCombo ); | ||
60 | |||
61 | weightUnitsLabel = new QLabel(this, "unitsTextLabel" ); | ||
62 | weightUnitsLabel->setText( tr( "Units" ) ); | ||
63 | Layout2->addWidget( weightUnitsLabel ); | ||
64 | |||
56 | Layout3 = new QHBoxLayout; | 65 | Layout3 = new QHBoxLayout; |
57 | Layout3->setSpacing( 6 ); | 66 | Layout3->setSpacing( 6 ); |
58 | Layout3->setMargin( 0 ); | 67 | Layout3->setMargin( 0 ); |
59 | 68 | ||
@@ -113,19 +122,20 @@ BacDialog::BacDialog( QWidget* parent, const char* name, bool modal, WFlags fl | |||
113 | palette.setColor(QPalette::Normal, QColorGroup::Light, Qt::black); | 122 | palette.setColor(QPalette::Normal, QColorGroup::Light, Qt::black); |
114 | palette.setColor(QPalette::Normal, QColorGroup::Dark, Qt::darkGreen); | 123 | palette.setColor(QPalette::Normal, QColorGroup::Dark, Qt::darkGreen); |
115 | LCDNumber1->setPalette(palette); | 124 | LCDNumber1->setPalette(palette); |
116 | 125 | ||
117 | |||
118 | Layout7->addWidget( LCDNumber1 ); | 126 | Layout7->addWidget( LCDNumber1 ); |
119 | 127 | NumberSpinBox->setFocus(); | |
120 | |||
121 | } | 128 | } |
122 | 129 | ||
123 | BacDialog::~BacDialog() { | 130 | BacDialog::~BacDialog() |
124 | } | 131 | {} |
132 | |||
133 | void BacDialog::calculate() | ||
134 | { | ||
125 | 135 | ||
126 | void BacDialog::calculate() { | ||
127 | float weight,genderDiff, bac, typeDrink=0, drinkOz=0, bodyWater, milliliters, oz, gram, gramsMil, alc, metab, bac1; | 136 | float weight,genderDiff, bac, typeDrink=0, drinkOz=0, bodyWater, milliliters, oz, gram, gramsMil, alc, metab, bac1; |
137 | float weightunitDifference, massunitdiff; | ||
128 | QString estBac; | 138 | QString estBac; |
129 | 139 | ||
130 | if( GenderComboBox->currentItem()==0) | 140 | if( GenderComboBox->currentItem()==0) |
131 | genderDiff = .58; | 141 | genderDiff = .58; |
@@ -148,9 +158,14 @@ void BacDialog::calculate() { | |||
148 | drinkOz = 1.5; | 158 | drinkOz = 1.5; |
149 | } | 159 | } |
150 | break; | 160 | break; |
151 | }; | 161 | }; |
152 | weight = WeightSpinBox->value() / 2.2046; // in kilograms | 162 | |
163 | if( weightUnitsCombo->currentItem() == 0 ) { | ||
164 | weight = WeightSpinBox->value(); // kilos | ||
165 | } else { | ||
166 | weight = WeightSpinBox->value() / 2.2046; // convert to kilograms | ||
167 | } | ||
153 | bodyWater = weight * genderDiff; | 168 | bodyWater = weight * genderDiff; |
154 | milliliters = bodyWater * 1000; | 169 | milliliters = bodyWater * 1000; |
155 | oz = 23.36/milliliters; | 170 | oz = 23.36/milliliters; |
156 | gram = oz * .806; | 171 | gram = oz * .806; |
@@ -159,10 +174,8 @@ void BacDialog::calculate() { | |||
159 | metab = TimeSpinBox->value() * .012; | 174 | metab = TimeSpinBox->value() * .012; |
160 | bac1 = gramsMil * alc; | 175 | bac1 = gramsMil * alc; |
161 | bac = bac1 - metab; | 176 | bac = bac1 - metab; |
162 | 177 | ||
163 | |||
164 | |||
165 | // weightDrink= (nDrinks * .79) / (weight * genderDiff*1000); | 178 | // weightDrink= (nDrinks * .79) / (weight * genderDiff*1000); |
166 | // (ounces * percent * 0.075 / weight) - (hours * 0.015); | 179 | // (ounces * percent * 0.075 / weight) - (hours * 0.015); |
167 | // bac = (((weightDrink * .806) * 100) * .54);// - (time * .012); // assuming beer of 4.5% | 180 | // bac = (((weightDrink * .806) * 100) * .54);// - (time * .012); // assuming beer of 4.5% |
168 | estBac.sprintf("%f",bac); | 181 | estBac.sprintf("%f",bac); |