1
+ import 'package:easy_localization/easy_localization.dart' ;
1
2
import 'package:intl/intl.dart' ;
2
3
import 'package:mobileraker/app/app_setup.locator.dart' ;
3
4
import 'package:mobileraker/app/app_setup.logger.dart' ;
@@ -35,14 +36,13 @@ class FileDetailsViewModel extends MultipleStreamViewModel {
35
36
FileDetailsViewModel (this ._file);
36
37
37
38
@override
38
- Map <String , StreamData > get streamsMap =>
39
- {
39
+ Map <String , StreamData > get streamsMap => {
40
40
if (_printerService != null )
41
41
_PrinterStreamKey :
42
- StreamData <Printer >(_printerService! .printerStream),
42
+ StreamData <Printer >(_printerService! .printerStream),
43
43
if (_klippyService != null )
44
44
_ServerStreamKey :
45
- StreamData <KlipperInstance >(_klippyService! .klipperStream),
45
+ StreamData <KlipperInstance >(_klippyService! .klipperStream),
46
46
};
47
47
48
48
bool get isServerAvailable => dataReady (_ServerStreamKey );
@@ -84,12 +84,20 @@ class FileDetailsViewModel extends MultipleStreamViewModel {
84
84
}
85
85
86
86
String get potentialEta {
87
+ if (_file.estimatedTime == null ) return tr ('general.unknown' );
87
88
var eta = DateTime .now ()
88
89
.add (Duration (seconds: _file.estimatedTime! .toInt ()))
89
90
.toLocal ();
90
91
return DateFormat .MMMEd ().add_Hm ().format (eta);
91
92
}
92
93
94
+ String get usedSlicerAndVersion {
95
+ String ukwn = tr ('general.unknown' );
96
+ if (_file.slicerVersion == null ) return _file.slicer ?? ukwn;
97
+
98
+ return '${_file .slicer ?? ukwn } (v${_file .slicerVersion })' ;
99
+ }
100
+
93
101
bool get preHeatAvailable => _file.firstLayerTempBed != null ;
94
102
95
103
void preHeatPrinter () {
@@ -106,9 +114,10 @@ class FileDetailsViewModel extends MultipleStreamViewModel {
106
114
_printerService? .setTemperature ('extruder' , 170 );
107
115
_printerService? .setTemperature (
108
116
'heater_bed' , (_file.firstLayerTempBed ?? 60.0 ).toInt ());
109
- _snackBarService.showSnackbar (title: 'Confirmed' ,
110
- message: 'Preheating Extruder: 170°C, Bed: ${_file .firstLayerTempBed
111
- ?.toStringAsFixed (0 )}°C' );
117
+ _snackBarService.showSnackbar (
118
+ title: 'Confirmed' ,
119
+ message:
120
+ 'Preheating Extruder: 170°C, Bed: ${_file .firstLayerTempBed ?.toStringAsFixed (0 )}°C' );
112
121
}
113
122
});
114
123
}
0 commit comments