Archive products on code and on date all use the packaging date. default tip

Better sort logic in ProdOnDate screen.

The iSpindel monitor, detail and chart screens try to use the polynomial calibration data to show the SG. Fallback to already logged data if this fails.

Version 0.5.0. Startup with the first tab active.

In the checklist add pH check during the boil.

Set correct background colours and pH tresholds for the final water and sparge water.

Version 0.6.b2. In export to forum show the final treated water. Complete water recalculate if sparge water acid or ph is changed. Added and changed pH tooltips on the water tab. Added a line with total treated water to the product print.

Don't update sparge volume when brew is done. Disabled some debug messages.

Vertaling bijgewerkt. Minimale watertab layout aanpassing.

Version 0.4.6b1 Update product with calculated sparge supply. This value is now only calculated from the desired sparge estimate plus HLT deadspace. Fixed brewing salts for sparge read-only after brewday. The final water displays the mixed mash and sparge water profile, almost the same as what goes into the boil kettle. The Cl/SO4 ratio display now works on the final water.

Some code cleanup. Upgrade HLT settings during product load if the default settings are detected.

Update total water volume.

Version 0.4.6a1. Added HLT equipment volume and deadspace settings. In EditProduct the target water selection is now sticky. Changed the water treatment tab. Added a row wich displays the salt adjustments. This can be selected between actual and target values. The treated water show can select between mash or sparge water. The total line will become the final water in the boil kettle. Database update function is expanded with the new settings. Added a popup message warning that the database is upgraded and user action is required for the equipment profiles.

Added fields for target_water and auto upgrade the products table

Allow enter first pH measurements from every mash step and not just the first one. All pH editors in the production module have 0.05 or 0.01 resolution in the edit steps.

Version 0.4.5. Adjusted for newer generation thermferm controllers.

Disable Monitor menu if websocket server is not available.

Version 0.4.4

Clear mash measurments when duplicating a product.

Code cleanup

Fix export recipe to new product crash

No carbonation beer selection before brewing the beer.

Version 0.4.3. Fix add fermentables in products when packaging sugar was defined but no amount was yet set.

Fix block hops display when dry-hop is done, and extract hop is done after packaging.

Added application icon

Version 0.4.2

Updated Dutch translation for the new calibrate screen.

Removed several development debug messages. Implemented delete and add data row.

Added error checks on calibration data

Changed xCal array to a QList. Added sort on angle. Added save data. Added quit/save dialog.

Added MySQL query example in the source.

Added polyfit files.

Added the cell edit function.

Added Simple polynomial fitting functions written by Henry M. Forson. Added a graph that displays the old and new iSpindel calibration curve. Implemented delete row from the data.

Load and show current calibration data.

Attempt 1

Basic setup for iSpindel calibration.

Changes in de iSpindel detail screen. Added a calibrate button and display the last update date and time.

New battery percentage formula for iSpindel in chart.

New battery percentage formula for iSpindel.

Changed iSpindel battery 100% level a bit lower.

In fermentation plot draw the SG line with temperature compensation.

Updated ranges for the carbonation chart.

Fixed recipe editor add yeast crash.

Version 0.4.1. Adjusted monitor nodes debug messages.

In monitor iSpindel: in the chart calculate the ranges, do't let the toolkit do that. Save the path for chart image download in the user settings. In the tooltip for the battery voltage line, also show the remaining battery capacity. In the monitor window show the battery capacity digit instead of allways 0. Updated the translations.

Monitor iSpindels: use global variables instead of repeated expensive MySQL calls. Use the yeast temperature ranges for the colors on the thermometer scale. Don't show SVG and ABV if the OG is not yet known. Turn statusfield red if offline. Extra mon_ispindles fields yeast_lo and yeast_hi. Need at least bmsd version 0.3.42. If a websocket message is received that cannot be parsed, show the whole received message.

ChartCarbonate saves the image path in the settings file. Conditional debug messages in a lot on monitor files. In Fermenter monitor details make the status background red if offline. A lot more generic variables instead of continuous expensive calls to MySQL. If fermenter values for the thermometers are not OK, then do not show anything.

Monitor CO2 meters: better display and hide of values and widgets. Minor adjustments of the window layout. When offline, the status background will be red.

Fermenter charts, only draw lines that are really used. Better auto scaling, not using the internal version. If only a air line is to be shown, make it fat. Save the path to download the image in the settings file.

Fixed error messages about log and camera buttons. Only show items that are really used.

Checked after boil efficiency, it's correct.

Clean debug log settings after last changes.

Use cells from yeastpack if set to calculate the initcells. Use 90% underpitch to decide for a starter. Hide starter retry label and button if no starter is needed.

Database upgrade will let the yeastpack cells at 0. Disabled some debug messages needed for development. Updated yeastpack editor tooltips.

Set yeastpack dropdown on yeast edit row start.

Added default load yeastpacks. Added yeast_package_changed signal.

Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.

Added valid flag to the inventory_yeastpack table. Initial false and after record edit set to true. This should prevent the use possible wrong values.

Added yeastpack editor. Expanded the database upgrade. On startup, recount the yeastpack used fields.

Version 0.4.0. Added database upgrade procedure on startup. Make sure inventory_yeastpack database is created and has default entries. This will become a table with data for different yeast packs.

Add dry primary yeasts weights to get a mixed total. Use the parameters from the first and mmost used yeast. Changed in products and recipes. Recalculated WLP purepitch viability and planned next generation purepitch. We need a better way to set these parameters like a packages table. Fixed several yeast edit values due to adding a STA1 column. Removed several unneeded refresh_all() calls as they screwed the sorting of the yeasts during edit. Added STA1 display to recipes. Changed products database starter_viability from integer to float.

Version 0.3.6. Updated translations and bumped version.

Fixed replace a yeast field offsets.

Some extra debug info en some removed for the product images. Clear picmap area if no pixmaps are left. Block pictype_changed and piccomment_changed if there are no pictures, prevents segfault.

Only try to save images on existing paths

Delete images from a producti first[C when a product is deleted.

If a new image for a product is loaded, check if the path is available. If not, use the home directory.

Implemented file save

Version 0.3.5

Some final changes for now.

The images tab now looks complete. Made the left side (thumbnails) a bit smaller. The right side of the screen now shows the current image and all data that belongs to that. After a new image is added, reload the images. Implemented delete image.

Added more buttons to the images tab. Load images from the database and display thumbnails added. Added support for jpeg files. Rename pictures in the database to .png. Added temporary images_list, images_count and images_current variables to the product record.

Added fields for filename and timestamp.

In EditProduct added tab number 13. When entered, a signal is generated to init this tab so that we can defer loading. Added a AddImage button, we can select an image, give it a type and comment and store it is a separate table. The global settings file now has storage for paths (images, download and beerxml).

Show 0 if afterboil volume is invalid instead of the chiller volume. Added product tab 13. Here the images (beerlabels, brew pictures) for a product will be shown. Resized all product tabs. Added STA1 tickmark in the yeasts table.

Version 0.3.4

Removed the last bits of equipent calc_volume setting. Changed to the equipment setup screen using suffixes in the fields. Updated the translations.

On the brewday tab, show the afterboil volume inclusive the volume of the immersion chiller in the wort. Added refractometer buttons on the brewday tab. The brew volume cm edit popup shows a message if a immersion chiller is in the wort.

Added a refractometer icon

In print checklist show volume after boil inclusive immersion chiller volume. Improved some prompts in equipment edit.

Renamed trub_chiller_loss fields to trub_loss

Changed pitchrate field for liquid yeasts to read/write. Added pitchrate select using a QComboBox and added a popup window for that.

Added a button to automatic recreate the yeast starter steps. Some code cleanup

Fixed dangling old starter data. Added conditional yeast debug logging.

Version 0.3.3. Removed several obsolete debug messages. IBU and Fermentation calculation debug messages are now controlled by conditional defines in global.h. In the brewday tab update the preboil and afterboil reference volumes. In the brewday tab the chiller type is a read only field directy linked to the selected equipment.

Calculate mash attenuation time using log base 5 instead of a linear function.

Limit mash steptime to 240 minutes. Limit mash steps to 82 degrees celsius. In estimate_fg limit total mash time to 240 minutes and increased the water/grain ration from 5.5 to 6 l/kg.

Backported mash calculation from EditProduct to EditRecipe.

In estimate_fg decrease attenuation for mash temperatures below 66.11 degrees.

With estimate_fg added a boolean parameter sta1 to correct the outcome if a primary yeast with sta1 gen is used. Fixed a spelling error in EditProduct yeast tab for dry yeast.

Make sure the package abv is final when the tertiary fermentation data is filled in.

Added show package color and ibu and take dillution in account

Brewing salts can now set in hundreds instead on tents decimals.

Reset mash measurement fields when a recipe is copied to a product.

Toon ook de gewenste en verwachte hergisting druk.

Details CO2 monitor shows the style limits for the specific beer. Adjust the scale of the pressure widget to the beer limits. Moved more functions to the global Utils. Fix expected pressure in the package screen for other priming sugars. Disabled some debug log messages.

Moved GetPressureBar function to the Utils.

Version 0.3.2

Implemented IBU calculation for chilling.

Finally found the right way to calculate the bottle pressure in bar after refermentation.

Small changes to the iSpindel graph. Translated the dutch product edit window title.

Disable manipulating mash steps when brewday is over.

Show product code and name in edit product window title if not a new product.

block_misc updated for MISC_USES_SPARGE

Charts downsize the pen from 3 to 2. Some nicer looking graphs.

Forgot to save the new eq_chiller_* fields in products.

Removed several debug logmessages in tab 3 and database load.

Use hop absorption factors from the global setup.

Added five hop absorption fields to the profile_setup record to set the hop absorption rates. Added edit fields in the global setup. Load global these new variables during application startup.

In the product equipment tab show the volume to the fermenter. Changed some prompts and suffixes in that tab. Updated translations.

Restored translations again

Fix false adjust_to_total_100 setting in priming fermentables.

Added, tested and removed build in help. The Qt help system is not my thing, I think doxygen will be better.

Always update translations during make.

Finished dutch transltions

Adjusted chiller_loss default value to 0.4. Disabled product fields eq_calc_boil_volume, eq_hop_utilization, eq_lauter_volume and eq_lauter_height. Added eq_chiller_type, eq_chiller_to79, eq_chiller_volume, eq_chiller_lpm, eq_chiller_loss with default values for immersion chilling. Load these values from new selected equipment. Changed edit product tab 2 to show new the new fields and removed the obsolete fields.

Try to prevent zapping translations

Updated dutch translation

Restored translations

The equipment editor uses named fields for database io. Edit field 'trub chiller loss' is now called 'trub loss', but will be renamed again. Removed editing hop_utilization, lauter_volume and lauter_height. These fields were never used in the application. Not yet removed from the database. Added chiller_type, chiller_to79, chiller_volume, chiller_lpm and chiller_loss fields so that we can tie a chiller to the equipment setup. Renamed some chiller names.

Version 0.3.0

Updated translations.

Handle choose beer if it needs to be cleared better in details iSpindels and CO2meters.

Handle choose beer if it needs to be cleared better. Fixed unit offline view

With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.

Version 0.2.28. Use calculated hop absorption during boil to correct the volume to the fermenter.

Calculate and show the hop absorption losses in the boil kettle and fermenter.

Fixed spelling error

Version 0.2.27

The same calculation for boil_size in a new product.

The same calculation for boil_size in a new recipe.

Boil size in recipe edit and product edit is always read-only. In product edit use the evaporation rate from the equipment to calculate the boil size.

Fixed translation error.

Fix checklist mash steps overflow.

Fixed negative bottle of keg volumes and overflow totals.

Update tab packaging if beerstyle is changed.

Updated export to forum with updated and final values. Added BU:RE ratio.

Init est_carb field for new products.

Version 0.2.26

Prompts corrections and updated translations. Minor layout changes so the prompts will fit.

After brewing show final IBU on the first tab.

Edit Product, split CO2 package pressure in bottles and kegs. BU:RE code cleanup. calcPack() sets the CO2 values on the first tab. Show final EBC on tab 1 if the stage is after brew. Show final ABV and energy on tab 1 if fermentation is done. Removed wrong bottle priming calculation from calcFermentables() because calcPack() does this.

Show final OG and FG if they are valid on the first tab.

Added Bitterness Unit to Real Extract unit calculation and display. In product use final values if possible for the BU:GU and BU:RE calculations depending on the product stage.

Clear log flags and starter volumes when a product is duplicated.

Version 0.2.25

Final changes for the webcam page.

Initial webcam interface for fermenter view

Fixed calculation of estimated fg.

Add support for hop extract values with XML import

Version 0.2.24

Import brew logs added.

Added reports, total production, fermentations and efficiency.

All profile and inventory editors now log warnings if something went wrong. Also added a Clone button. Delete now asks for confirmation.

Product and recipe beerxml export support for hop extracts. Recipes with missing hop from the database use a default utilisation value.

A small correction on beerxml export.

With inventory hops beerxml export support hop extracts. Added private xml values to show the real values and hide these in the poort designed beerxml know values.

Version 0.2.23

Global setup added hop utilisation defaults, these are used by the hops editor. In the hops editor, changing the hop form sets the new default utilisation. Hide and show the time edit entry instead of setting it read-only. The new defaults are loaded at program startup. Changed the global setup for the new utilisation fields and dropped the obsolete factor fields. The toIBU formula doesn't use my_factor_* variables anymore, hop differences now come from the utilisation field per hop. The global database is updated to the new defaults.

Print recipe and product, miscs weights have 2 decimals. Add hop extract during bottling to the checklist.

Version 0.2.22

Added hop clone

Edit Recipe Hop now properly updates the utilisation and bu_factor fields.

Final set the default utilisation to 20. Selecting another hop in a product now sets the new utilisation and bu_factor too. Removed experimental CO2 extract calculation and let it handle by the Tinseth formula. The Tinseth formula uses the Utilisation value in the final calculation. Moved the ISO extract formula for extract at bottling to the main toIBU function.

Update recipe load/save for the new hops fields.

First load of changes for hops. In EditHop load the dropdown buttons from the global table. Use named query fields. Added database utilisation and bu_factor fields for hop extracts. Added edit fields for these new fields. Added post boil SG, utilisation and bu_factor parameters to the toIBU function. Added hops form parameter to the hopFlavourContribution and hopAromaContribution display bars. In the hops inventory list dispay volumes instead of weight for hop extracts. Modified the TinsethIBU function to use utilisation and bu_factor parameters. Add calculations for co2 and iso hop extracts, this is work in progress. The toIBU function makes use of the preSG and postSG values to use the correct SG to caall the TinsethIBU function. This results in a bit lower IBU values mostly affecting the late additions. Added use hop at bottling for iso hop extracts like Tetra hops using the formula from BarthHaas.

Version 0.2.21. Updated translations.

On the fermenter, iSpindel, carbonation and brewday chart a tooltip with values is shown wheren hovering over the most important data lines. Changed the vertical to horzontal screen layout and added a save button to save the graph as .png image.

Added callout

Version 0.2.20. Calculate total linther ignore malt color because our database is correct.

Version 0.2.19

Added new sparge water data to the checklist.

Added printing sparge water details.

Added sparge water salt additions. Adjust sparge acid amount if manual calculations and the water volume is changed.

Initial setup to print sparge water.

Fixed overloaded perc_mashShow when the value is above the maxiumum.

Version 0.2.18

Improved selection logic for the sparge water.

Updated translations

Redesign of the water tabs in product and recipe editors. Prepare for sparge water salt additions. Acid additions are now automatic or manual for mash and sparge. Fixed error in acid calculation strength. Fixed phophoric SG value.

Adapted to new Utils functions. Used named versions for MySQL water read.

Corrected Phosphoric SG value.

Made the Hardness function more precise. Removed RA_ppm function, was doubles with ResidualAlkalinity. Added RA_CaCO3 and Bicarbonate functions.

Added misc_uses spage step. Corrected some defines mol values.

Added tooltips

Updated watersources editors to include water hardness and residual alkalinity. Layout changes. Only total_alkalinity edit, bicarbonate is now only calculated.

Fixed some promps space. Updated translations.

Fixed some promps space. Updated translations.

Added calculation preboild pH in recipes. Added water hardness and residual alkalinity calculations in the water tab.

Calculate and show estimated preboil pH

Updated translations

Only fermenters support control commands.

Added nodes monitor detail screen.

Increased some labels sizes.

Setting mash hopping efficiency now between -95 and +50. Refresh all after changing the IBU method. Added own part for Mash Hopping. Code cleanup.

Removed old experiment to calculate flameout and whirlpool ibu's. Changed Tinseth calculation to use a time window so you can select the ibu contribution during a specified time. Added ibu_method Tinset++. Added calculation extensions for Tinseth++, this calculates the flameout and whirlpool effects on all hops. During cooling is to be done.

Code cleanup

Cooling method dropdown table loads from a global table. Updated the translations.

Added cooling parameters to the toIBU function.

Removed Garetz and Rager IBU calculations, we will only use Tinseth

With beerXML recipe import, the IBU method is always Tinseth.

Added my_height global variable and edit in profile setup. This sets the height of the brewery above or below sealevel. Added calculations for the air pressure, boilpoint and IBU_reduction that all depend on the height. Currently not yet in use. Split out the real IBU calculation from the generic toIBU function. This has no effect on the results.

IBU method names are now global.

The carbonation chart has fixed Y ranges.

Version 0.2.15 with updated translations.

Moved Fermenter and iSpindel charts to their own functions. Added these to DetailFermenter and DetailiSpindel too.

Added carbonation chart to it's own function. Added this chart to DetailCO2meter too.

Version 0.2.14

Updated translations.

Added iSpindel detail screen

Added CO2 meter monitor detail screen.

Updated translations

Extra decimal digit for the pressure.

Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.

Implemented profile control. Added stage edit. Added manual control. Added temperature setting.

Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.

More Polish to English translations

Force red or black pen color

Changed the 'off' color effect of the led

Translated to English.

Removed LED plugin, now using the one from the AnalogWidgets.

Added DetailFermenter screen

Added led, manometer, thermometer and wallclock from the abandoned AnalogWidgets project as plugins. There is some work to do but it's already usable for the monitor screens.

Prepare for DetailFermenter

Added LED plugin.

Added monitor co2meters overview

Added monitor fermenters overview

Respond to websocket ping. Added iSpindels monitor overview.

Added monitor nodes overview

Using names for profile_setup query

Add database maintenance to the startup code. Start some work ok parsing websocket messages.

Log product code and name instead of record number. Added water supply check.

Version 0.2.13. Updated translations

Added reduce inventory for all process stages. Added block fermentable to block buttons and inventory when the fermentable has been reduced. Added block hop to block buttons and inventory when the fermentable has been reduced. Added block misc to block buttons and inventory when the fermentable has been reduced. Added block yeast to block buttons and inventory when the fermentable has been reduced.

Added remarks about beerxml design flaws.

Version 0.2.12

Export recipe or product to beerxml use the global untranslated arrays. Export recipe or product to forum use the global translated arrays.

Finally the translation of string arrays is working.

Added hop co2 extract form. Added hop add at bottling needed for iso and tetra hop.

Fixed select yeasts in recipes and poducts.

Update translations

Added co2pressure (carbonation) log graph.

Added fermenter and iSpindel graphs.

Added power useage to the brew log.

Fixed losing miscs ingredients.

Added date set/clear buttons for inventory Fermentables and Yeasts.

Fixed missing settings from the Miscs and Hops editors.

Version 0.2.10 with updated translations and menu's.

Removed unneeded import buttons from the inventory screens.

Added import recipes.

Added import mash profiles.

Renamed struct Mashs to MashSteps

Added import waters

Added import yeasts

Member names for yeasts normalized.

Member names for fermentables normalized.

Member names for hops normalized.

Fixed init of import record. Added miscs import

Member names of miscs normalized. This was a leftover from porting from php code.

Added xml import hops

Finished import fermentables

The equipment import is now final.

Changed import XML method for beer styles using a temporary struct and native database functions. This is the correct method which gives the correct results.

Added import from xml, equipments and beerstyles.

Made water calculations better readable.

Version 0.2.9. Fixed a few spelling errors. Updated Dutch translations.

Show split batch status in print product.

Added the main record update to the product splitting. Block edit of the product code if the product is splitted.

Added create splitted batches. Fixed rounding amount values at several places.

Disable split product if already splitted, or if stage is after last possible splitpoint.

Implemented the split table editor.

Added the framework for splitting batches.

Added export product to forum.

Added export product to recipe.

Added slots for sparge water volume and temperature.

Added Product copy to Product.

Code cleanup in database functions.

Updated the changes from the product misc editor to the recipe misc editor.

Fix default divide_size field in products. Update miscs table column 6 and 7 tooltips and display of the buttons after sort. After a new misc product is selected, update the current row index because the row may be moved. Fix some display misc values in the checklist, they were not multiplied by 1000. Fix display of some bars if the value was 24.

Version 0.2.8 Fixed boil_sizeEdit width.

In the recipe editor hops you can now change the alpha percentage and hop form of any hop. We don't need locked values in recipe design.

Changed some logging levels. Fixed copy recipe to product sparge water setteings. Added export to forum via clipboard. The recipe export is completed.

Make use of new logging handler.

Reformatted output by inserting intend of 20 pixels.

Installed MessageHandler for logging

Copy recipe to duplicated recipe added. Copy recipe to product added. Added popup with export choices.

Version 0.2.7

Updated some suffixes.

Edit fermentables load record using namefields. Splitted diastaticEdit edit field in wkEdit and lintnerEdit. These fields are linked using the kolbach/lintner convert formula. The date input fields start on 1-1-2000 instead of ages ago.

Moved recipe load, save and delete to it's own file.

Moved product record load, save and delete to a separate file and use passed record data.

Version 0.2.6

Product beerXML updates: Add product code to beerxml filename. Add OG and FG values if valid. Fixed equipment values to use the real equipment profile. Don't export fermentables that are used for packaging.

Install translations in /bmsapp/translations. Use a searchpath to try to load a translation.

Version 0.2.5

Added print and export choices popups. Updated translations.

Vertalingen bijgewerkt. Forceer Nederlands tijdelijk

Version 0.2.4

Added print checklist

Version 0.2.3

Calulate package abv and pressure and store in the global product variable for later use. Finished the product printing module.

Added most of print product

Added inverntory waters nitrate column. Added nitrate and carbonate in the water edit screen.

Version 0.2.2

Add product archive tree by date.

Hide the taste ack button of stage is not taste.

Added the product archives tree by styles.

Added archive products sorted on code.

Rewritten the hop taste and aroma progress bars to use a gradient.

The abused progress bars in the fermentables tab now show the stacked colors like I want them.

Added archive products on name.

Implemented insert a new product. Fixed missing product code edit slot.

Version 0.2.1. Updated translations.

Implemented the tasting tab. On the generic tab, show the ingredients check or the read only prompt on the same place depending on the product stage. Fixed the yeasts ingredients in stock check. Reordered the tab order of all edit fields. It looks like this module is ready and needs testing.

Added stage changing from tertiary fermentation upto carbonation. Show, hide, readonly etc for the package tab. Make sure current sugar amounts are displayed. Added package date and buttons.

Added keg priming and forced carbonation.

Replace priming sugar implemented.

Added bottles priming calculations.

Added first part of the package tab.

Added fermentation stages data. The two graphs are for later.

Fixed wrong colors of the bars on the fermentation tab. Don't show 100% SVG if OG or FG data is missing. Changed prompts om the fermentation tab.

Vertalingen bijgewerkt.

Fixed set changed if brewdate is confirmed.

Fixed whirlpool and flameout hops bitterness calculations. Fixed toIBU parameters in the recipe part, missing whirlpool times.

Added the brew end date and time settings. Added a confirm button the is only displayed if everything is ready for the next step. This check includes that the end of the brew is at least two hours after the start. This completes the brewday tab page.

Added brew_log popup window.

Added calculation tools to measure volume in the boil kettle using measured centimeters.

Only show brew_log prompt and button if there is a log.

Implemented brewday change cooling, aeration, whirlpool and fermenter volumes values. All editable values on the brewday tab are now functional.

Implemented pre and after boil volume and sg settings included all calculations.

Fixed 0 IBU for First Wort Hop or Mashhop is used.

Implemented brewday mah ph edit, mash sg edit, sparge ph edit, pre and after boil ph edit.

Enable/disable read/write al settings on the brewday tab as needed.

First changes for brewdate date edit.

Further translations work, give some labels more room. Changed the layout of the brewday tab to create more space and a more logical layout.

Updated translations.

Added mash steps pH and SG values.

Fixes for select another yeast.

Dry yeast use yeast viability. Finished calculate dry yeast. Finished using enum values.

Added field to show the needed cells. Colors in the starter table for good and error results.

Added yeast viability calculation.

Completed the starter step popup editor

Internal product record stores the starter steps in array format.

The framework to calculate yeast starters added.

Added calcMiscs(). In miscs check supplies. Update inventory check when setting a new brewing salt. Use enum constants to make code more readable.

Added water tooltips for recipes.

Added tooltips for water treatment.

Added hops inventory check. Include all whirlpool steps in ibu calculations. Calculate the ibus in the fermenter including top up water. Use enum constants for the hops. Update the invenory state when replacing a hop.

Added calcSupplies() which shows if ingredients are in stock to brew the recipe. In tab 3, changed the fermentables numbers into more readable enum constants. Disable delete and edit buttons in fermentables rows for bottle and kegs sugars. Better mash time calculation in calcFermentables. Added check supplies. Added recalculate volumes. Update inventory when a fermentable is replaced. Added tooltips in brewing salts fields in the miscs table.

Added select equipment.

Fix fermentable percent check if there are no fermentables.

Completed the design of the package and taste tabs.

Created the tab fermentation.

Added the last groupboxes on the brewday tab.

Added brewday boil box. The setLocked function changed into setStage. Fixed bug that resetted the efficiency to the equipment default.

Added brewday sparge and lauter results box.

Added brewday mash results box.

Added missing est_og3 database field load and save. Added all extra fields in update and insert product. Renamed est_og3Edit on tab 3 to est_og4Edit because est_og3Edit is reserved for the brewday tab.

Show total mash volume.

Miscs updates the current inventory during recipe load. Yeasts updates the current inventory during recipe load and does a better job for the fields to upgrade.

Add hops inventory update during product load.

Fermentables inventory is updated during initial product load. Total mash volume is calculated against the used equipment profile. Display mash weight. Mash infuse temperatures are calculated against the used equipment profile.

Tab 2 equipent, all editfields placed.

Initial import of EditProduct, the part from EditRecipe is ported.

Version 0.1.6 with updated translations.

Added menu entry products in production

Version 0.1.5

Implemented recipe lock setting.

Version 0.1.4

If percentages are not set when loading a recipe, they are set during the load.

Added kw_to_newebc function to debug EBC differences.

Replaced ui variables by record variables.

Increased several limits in the recipe ui.

Fix multiple insert a new recipe.

Fixed dry-hop days setting.

Version 0.1.3. Mash name can be edited manual. Added a remark about EBC calculations. Updated dustch translation. Still items in recipe tables are not shown translated, another qt mistery. Extended some number input ranges for large batches.

Added calcSparge.

Fix missing values for treated water.

Completed print recipe.

Added the largest part of print recipe.

Activated print recipe button. The recipe record structure is now global. Added global product record structure.

Added beerxml export

Delete recipe needs a confirmation.

Moved more QStringList arrays to global.

Moved QStringList arrays to global.

Load recipe seek error, abort implemented. Not yet working correct. The recipetree is finally working.

Fixed vanishing mash profiles from some recipes. All ingnoreChanges flags removed and replaced by blocking signals. Update prompts and yeast amounts depending on the yeast form. Save water profile names fixed.

New recipe, calculate the boil_size. Lot's of ignoreChanges removeals and where needed QSignalBlocker is used. Bottle priming calculation added. In fermentables editor block and release to100 settings only in mash to fermentation steps, bottle and kegging are ignored. Update the IBU slider after hop changes. Set the mash name when another mash profile is selected. Don't backup initial infuse amount if there was no mash table. A small cosmetic layout change on the mash tab.

Implemented the last widgets on the first tab and added the needed functions for them such as scaling the recipe. This is the last part of the recipe editor, now ready for testing.

Implemented choose main and dillution waters. Implement change dillution water volume.

Added calcMash(). Display total mash time.

Added mash table replace

Added swap mash rows.

Implemented most parts of the mash editor.

First setup of the mash tab with the table.

Added all yeast edit functions and the popup editor window.

Added calcYeast(). Added show svg from calcFermentables() on the yeast tab. Fixed wrong data displayed in the yeast table. Show estimated needed dry yeast or starters.

Upgrade yeasts fields if needed during recipe startup. Added yeast table.

Fixed placing time value in the wrong column. Added misc use changed. Tab 4 layout changed.

Fixed complains about missing signals. Added add misc row, misc amount changed, misc time changed, misc select changed and misc instock changed. Silence false changed trigger.

Add select target water profile. The mash part of the water tab is ready.

Added indicators for BUGU and SO4:Cl ratio. Force rounded values for changing brewing salts.

Remove some water search debug messages. Added signals and slots for mash water pH and volume changes. Added manual pH adjust.

Added dutch translations to the internal acids array. Added slot for calc_acid checkbox. Added more water calculations. The miscs amount fields now have two decimal digits. Show treated waters and good/bad indicators.

Moved the mix function to Utils. Added some calculations to Utils. Added defines to global.h.

Load waters during recipe startup. Started calcWater() function. Load profile_setup record global. The print function uses the globals now too instead of loading from the database.

Added miscs popup editor. No edit functions yet. Delete misc row added.

Added global variables, C++ lovers will hate that. Added global acid data. Fixed several load and save errors in the json arrays in the recipe record. Added first part of the miscs table. The first part of the water tab has values.

Finished the water tab ui. For now.

Blocked hop table edit. Implemented add and delete hop rows. Started the ui of the water tab.

More file splitting

Split recipes source in tabs.

Added hop rows sorting. Added hop amount edit, hop time changed, hop select changed, hop instock change and hop use at changed. Added generic on hop editrow editor.

Start hops table display. The calculated preboil_sg value is stored global in memory. Added calculations for IBU, hop flavour and aroma.

Adjusted the width of the fermentables table. Made room for a stacked widget on the yeasts tab.

Show adjust_to100 in a function. Show percentages in fermentables table only before bottling or keggng. Implemented change add moment for fermentables.

Fermentable row editor added the adjust_to_total_100 setting.

Add fermentable row added.

If all fermentables rows are deleted, reset several values to init values.

Finished delete fermentable row.

Fixed loading mash_name. Save calculated est_ values in the Recipe struct. Fixed missing recipe values save to MySQL. Added slots for ferment_select_changed, ferment_instock_changed. Layout changes in fermentables popup editor. Implemented fermentable abort and rollback.

The editrow variable replace by recipe->fermentables_current. The fermentable amount editor ignores fermentables added during bottling or kegging for percentage calculation. Added the fermentable percentage editor.

Fixed saving the json data. Removed dead code. Edit fermentable amounts sets is_changed.

Completed recipe save record. Recipe name and notes can be edited.

Code cleanup after last changes.

Load hops in QList.

Load miscs in QList.

Load yeasts in QList.

Fermentables are loaded in the main recipe record in a QList. The refresh table function does the sorting, on added moment (mash first), amount and finally color of the malt. Removed the old hidden table columns. Do all manipulation on the recipe record with QList arrays. The ferment_amount_changed() slot is complete. The whole recipe editor is going in the right direction.

Completed read MySQL recipe record. Mash schedule moved to recipe QList.

Redesign the database interface for the recipe editor.

Added minval() and maxval() read to RangedSlider. Filled the MySQL query with the values that are ready at this point.

Global table edit lock. The 100% mark is now display only, editing goes into the popup editor.

Hide not visible fermentables data inside the fermentablesTable so that all data stays together. Format the fermentables json data again after changes. Add confirmation message to delete a fermentable row. Added buttons for a fermentables row editor.

Show kcal/l in the first tab

Experiment with checkboxes in the fermentable table.

Almost finished calcFermentables()

Added change beerstyle, the fermentables table, and first part of calcFermentables to the recipe editor.

Added more edit fields to the first recipe editor tab. Cleanup of RangedSlider is ready.

CMakeLists.txt cleanup. Removed partial BeerColor plugin, it was ugly and takes too much space. A bit of RanedSlider code cleanup. Most widgets for the first tab in the recipe editor placed.

Solved the segmentation fault when viewing recipes twice. Set colored display for the EBC color fields using a modified dynamic stylesheet.

Stripped down the RangedSlider. It is more compact and still does everything. Base colors (red and green) are fixed inside, also automatisc setting of outer limits. The tooltip shows the current ranges. Still some finetuning to be done.

Removed the ugly green value text from the ranged slider.

Added part of a beercolor plugin that needs a lot of work. Added some rangesliders in the recipe editor. Added EBC and SRM color mapping to QColor.

More progress in building designer plugins.

The RangedSlider plugin works for now and appears in de QT-designer interface. Installed for test in the recipe editor.

Added support to build designer plugins, but it is nog yet complete. Added RangedSlider fro the brewtarget project to make our version of it. Started EditRecipe screen.

Added websocket connection to the bmsd server. Dropped MQTT, not needed. MySQL and webSockets is enough.

Moved functions from bmsapp.cpp to MainWindow.cpp

Added MQTT settings.

Improve the CMakeLists.txt. Cleanup unused variables. Removed som debug messages.

Updated the translations.

Bumped to version 0.1.1

Removed unneeded functions.

Added install option and a desktop file.

Some code cleanup

The screen design is final. The leftside tree doesn't collapse and expand, I leave that for now. Lack of good documentation to deal with this. The right side shows the current selected recipe in short form. This is now almost as I want it to be.

Added start of the Recipes Tree to select a recipe

removed obsolete file

All inventory and profiles now show the items sizes in the statusbar.

Status and Windowtitle messages via signals and slots. Global setup now on the mainwindow.

Profile Ferments now on the mainscreen.

Profile Styles now on the mainscreen.

Profile Mashs now on the mainscreen.

Profile Waters now on the mainscreen.

Inventory Equipments now on the mainscreen.

Inventory Waters now on the mainscreen.

Inventory Miscs now on the mainscreen.

Inventory Yeasts now on the mainscreen.

Inventory Hops now on the mainscreen.

Inventory Fermentables now on the mainscreen.

Removed sizegrip from the statusbar

Added texts on the buttons. Removed a number of debug messages. Hide and show the main menubar during edit. Removed unused and unneeded stackable window pages.

Finally found out how to make these databases work on a single main window. And it's dynamic too.

First step in loading the Inventory Suppliers database on the mainscreen. But, it is loaded at program start en not removed when done. Weird programming to get this working.

Replaced main QTabWidget with QStackedWidget

Re-added the mainwindow statusbar.

Changed the way the inventory is displayed. Suppliers only for testing.

Updated translations and some messages.

(0) -480 tip

mercurial