@@ -609,8 +609,9 @@ class tgraphcanvas(FigureCanvas):
609
609
def __init__(self,parent):
610
610
611
611
#default palette of colors
612
- self.palette = {"background":'white',"grid":'#808080',"ylabel":'0.20',"xlabel":'0.20',"title":'0.20',"rect1":'green',
613
- "rect2":'orange',"rect3":'#996633',"rect4":'lightblue',"rect5":'lightgrey',"et":'red',"bt":'#00007f',"xt":'green',"deltaet":'orange',
612
+ self.palette = {"background":'white',"grid":'#808080',"ylabel":'0.20',"xlabel":'0.20',"title":'0.20',
613
+ "rect1":'green',"rect2":'orange',"rect3":'#996633',"rect4":'lightblue',"rect5":'lightgrey',
614
+ "et":'red',"bt":'#00007f',"xt":'green',"deltaet":'orange',
614
615
"deltabt":'blue',"markers":'black',"text":'black',"watermarks":'yellow',"Cline":'blue'}
615
616
616
617
self.artisanflavordefaultlabels = [QApplication.translate("Textbox", "Acidity",None),
@@ -5512,20 +5513,20 @@ def markCharge(self):
5512
5513
self.l_annotations += self.annotate(t2,st1,tx,t2,self.ystep_up,self.ystep_down)
5513
5514
# mark active slider values that are not zero
5514
5515
for slidernr in range(4):
5515
- # if aw.eventslidervisibilities[slidernr]:
5516
- # we record also for inactive sliders as some button press actions might have changed the event values also for those
5517
- if slidernr == 0:
5518
- slidervalue = aw.slider1.value()
5519
- elif slidernr == 1:
5520
- slidervalue = aw.slider2.value()
5521
- elif slidernr == 2:
5522
- slidervalue = aw.slider3.value()
5523
- elif slidernr == 3:
5524
- slidervalue = aw.slider4.value()
5525
- if slidervalue != 0:
5526
- value = aw.float2float((slidervalue + 10.0) / 10.0)
5527
- # note that EventRecordAction avoids to generate events were type and value matches to the previously recorded one
5528
- aw.qmc.EventRecordAction(extraevent = 1,eventtype=slidernr,eventvalue=value)
5516
+ if aw.eventslidervisibilities[slidernr]:
5517
+ # we record also for inactive sliders as some button press actions might have changed the event values also for those
5518
+ if slidernr == 0:
5519
+ slidervalue = aw.slider1.value()
5520
+ elif slidernr == 1:
5521
+ slidervalue = aw.slider2.value()
5522
+ elif slidernr == 2:
5523
+ slidervalue = aw.slider3.value()
5524
+ elif slidernr == 3:
5525
+ slidervalue = aw.slider4.value()
5526
+ if slidervalue != 0:
5527
+ value = aw.float2float((slidervalue + 10.0) / 10.0)
5528
+ # note that EventRecordAction avoids to generate events were type and value matches to the previously recorded one
5529
+ aw.qmc.EventRecordAction(extraevent = 1,eventtype=slidernr,eventvalue=value)
5529
5530
except Exception:
5530
5531
pass
5531
5532
else:
@@ -8974,11 +8975,9 @@ def sample(self):
8974
8975
aw.qmc.rateofchange1 = ((aw.qmc.tstemp1[-1] - aw.qmc.tstemp1[-left_index])/timed)*60. #delta ET (degress/minute)
8975
8976
aw.qmc.rateofchange2 = ((aw.qmc.tstemp2[-1] - aw.qmc.tstemp2[-left_index])/timed)*60. #delta BT (degress/minute)
8976
8977
8977
-
8978
-
8979
8978
aw.qmc.unfiltereddelta1.append(aw.qmc.rateofchange1)
8980
8979
aw.qmc.unfiltereddelta2.append(aw.qmc.rateofchange2)
8981
-
8980
+
8982
8981
####### filter deltaBT deltaET
8983
8982
# decay smoothing
8984
8983
if aw.qmc.deltafilter and not aw.qmc.altsmoothing:
@@ -9008,13 +9007,15 @@ def sample(self):
9008
9007
else:
9009
9008
aw.qmc.unfiltereddelta2.append(0.)
9010
9009
aw.qmc.rateofchange1,aw.qmc.rateofchange2,rateofchange1plot,rateofchange2plot = 0.,0.,0.,0.
9010
+
9011
+
9011
9012
# limit displayed RoR (only before TP is recognized)
9012
9013
if not aw.qmc.TPalarmtimeindex and aw.qmc.RoRlimitFlag:
9013
- if rateofchange1plot != None and (max(-aw.qmc.maxRoRlimit,aw.qmc.RoRlimitm) < rateofchange1plot < min(aw.qmc.maxRoRlimit,aw.qmc.RoRlimit)):
9014
+ if rateofchange1plot != None and not (max(-aw.qmc.maxRoRlimit,aw.qmc.RoRlimitm) < rateofchange1plot < min(aw.qmc.maxRoRlimit,aw.qmc.RoRlimit)):
9014
9015
rateofchange1plot = None
9015
- if rateofchange2plot != None and (max(-aw.qmc.maxRoRlimit,aw.qmc.RoRlimitm) < rateofchange2plot < min(aw.qmc.maxRoRlimit,aw.qmc.RoRlimit)):
9016
+ if rateofchange2plot != None and not (max(-aw.qmc.maxRoRlimit,aw.qmc.RoRlimitm) < rateofchange2plot < min(aw.qmc.maxRoRlimit,aw.qmc.RoRlimit)):
9016
9017
rateofchange2plot = None
9017
-
9018
+
9018
9019
# append new data to the rateofchange
9019
9020
if local_flagstart:
9020
9021
# only if we have enough readings to fully apply the delta_span and delta_smoothing, we draw the resulting lines
@@ -9460,8 +9461,22 @@ def __init__(self, parent = None):
9460
9461
self.maxRecentRoasts = 20 # the maximum number of recent roasts held
9461
9462
9462
9463
#lcd1 = time, lcd2 = met, lcd3 = bt, lcd4 = roc et, lcd5 = roc bt, lcd6 = sv (extra devices lcd same as sv seetings)
9463
- self.lcdpaletteB = {"timer":'black',"et":'black',"bt":'black',"deltaet":'black',"deltabt":'black',"sv":'black'}
9464
- self.lcdpaletteF = {"timer":'white',"et":'white',"bt":'white',"deltaet":'white',"deltabt":'white',"sv":'yellow'}
9464
+ self.lcdpaletteB = {
9465
+ "timer":'black',
9466
+ "et":'#D9D9D9', #'black',
9467
+ "bt":'#D9D9D9', #'black',
9468
+ "deltaet":'#BFBFBF', #'black',
9469
+ "deltabt":'#BFBFBF', #'black',
9470
+ "sv":'#404040', #'black'
9471
+ }
9472
+ self.lcdpaletteF = {
9473
+ "timer":'white',
9474
+ "et":'red', #'white',
9475
+ "bt":'#00007F', #'white',
9476
+ "deltaet":'orange', #'white',
9477
+ "deltabt":'blue', #'white',
9478
+ "sv":'yellow'
9479
+ }
9465
9480
9466
9481
#user defined event buttons
9467
9482
self.extraeventsbuttonsflag = 1 #shows/hides rows of buttons 1/0; records the user choice, not the actual state!
@@ -16611,7 +16626,11 @@ def settingsLoad(self, filename=None):
16611
16626
# recent roasts
16612
16627
if settings.contains("recentRoasts"):
16613
16628
try:
16614
- self.recentRoasts = settings.value("recentRoasts",self.recentRoasts)
16629
+ rr = settings.value("recentRoasts",self.recentRoasts)
16630
+ if rr != None:
16631
+ self.recentRoasts = rr
16632
+ else:
16633
+ self.recentRoasts = []
16615
16634
self.updateNewMenuRecentRoasts()
16616
16635
except:
16617
16636
pass
@@ -24660,28 +24679,29 @@ def __init__(self, parent = None):
24660
24679
24661
24680
def recentRoastActivated(self,n):
24662
24681
# note, the first item is the edited text!
24663
- rr = aw.recentRoasts[n-1]
24664
- self.titleedit.textEdited(rr["title"])
24665
- self.titleedit.setEditText(rr["title"])
24666
- self.unitsComboBox.setCurrentIndex(aw.qmc.weight_units.index(rr["weightUnit"]))
24667
- self.weightinedit.setText("%g" % rr["weightIn"])
24668
- # all of the following items might not be in the dict
24669
- self.beansedit.setPlainText(rr["beans"])
24670
- self.weightoutedit.setText("%g" % rr["weightOut"])
24671
- self.volumeinedit.setText("%g" % rr["volumeIn"])
24672
- self.volumeoutedit.setText("%g" % rr["volumeOut"])
24673
- self.volumeUnitsComboBox.setCurrentIndex(aw.qmc.volume_units.index(rr["volumeUnit"]))
24674
- self.bean_density_weight_edit.setText(str(rr["densityWeight"]))
24675
- self.bean_density_weightUnitsComboBox.setCurrentIndex(aw.qmc.weight_units.index(rr["densityWeightUnit"]))
24676
- self.bean_density_volume_edit.setText(str(rr["densityVolume"]))
24677
- self.bean_density_volumeUnitsComboBox.setCurrentIndex(aw.qmc.volume_units.index(rr["densityVolumeUnit"]))
24678
- self.bean_size_edit.setText(str(rr["beanSize"]))
24679
- self.moisture_greens_edit.setText(str(rr["moistureGreen"]))
24680
- self.moisture_roasted_edit.setText(str(rr["moistureRoasted"]))
24681
- self.whole_color_edit.setText(str(rr["wholeColor"]))
24682
- self.ground_color_edit.setText(str(rr["groundColor"]))
24683
- self.colorSystemComboBox.setCurrentIndex(rr["colorSystem"])
24684
- # Note: the background profile will not be changed if recent roast is activated from Roast Properties
24682
+ if n > 0:
24683
+ rr = aw.recentRoasts[n-1]
24684
+ self.titleedit.textEdited(rr["title"])
24685
+ self.titleedit.setEditText(rr["title"])
24686
+ self.unitsComboBox.setCurrentIndex(aw.qmc.weight_units.index(rr["weightUnit"]))
24687
+ self.weightinedit.setText("%g" % rr["weightIn"])
24688
+ # all of the following items might not be in the dict
24689
+ self.beansedit.setPlainText(rr["beans"])
24690
+ self.weightoutedit.setText("%g" % rr["weightOut"])
24691
+ self.volumeinedit.setText("%g" % rr["volumeIn"])
24692
+ self.volumeoutedit.setText("%g" % rr["volumeOut"])
24693
+ self.volumeUnitsComboBox.setCurrentIndex(aw.qmc.volume_units.index(rr["volumeUnit"]))
24694
+ self.bean_density_weight_edit.setText(str(rr["densityWeight"]))
24695
+ self.bean_density_weightUnitsComboBox.setCurrentIndex(aw.qmc.weight_units.index(rr["densityWeightUnit"]))
24696
+ self.bean_density_volume_edit.setText(str(rr["densityVolume"]))
24697
+ self.bean_density_volumeUnitsComboBox.setCurrentIndex(aw.qmc.volume_units.index(rr["densityVolumeUnit"]))
24698
+ self.bean_size_edit.setText(str(rr["beanSize"]))
24699
+ self.moisture_greens_edit.setText(str(rr["moistureGreen"]))
24700
+ self.moisture_roasted_edit.setText(str(rr["moistureRoasted"]))
24701
+ self.whole_color_edit.setText(str(rr["wholeColor"]))
24702
+ self.ground_color_edit.setText(str(rr["groundColor"]))
24703
+ self.colorSystemComboBox.setCurrentIndex(rr["colorSystem"])
24704
+ # Note: the background profile will not be changed if recent roast is activated from Roast Properties
24685
24705
24686
24706
def addRecentRoast(self):
24687
24707
title = u(self.titleedit.currentText())
0 commit comments