12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- import 'package:flutter_hbb/common.dart';
- import 'package:flutter_hbb/consts.dart';
- import 'package:flutter_hbb/models/platform_model.dart';
- class PrinterOptions {
- String action;
- List<String> printerNames;
- String printerName;
- PrinterOptions(
- {required this.action,
- required this.printerNames,
- required this.printerName});
- static PrinterOptions load() {
- var action = bind.mainGetLocalOption(key: kKeyPrinterIncomingJobAction);
- if (![
- kValuePrinterIncomingJobDismiss,
- kValuePrinterIncomingJobDefault,
- kValuePrinterIncomingJobSelected
- ].contains(action)) {
- action = kValuePrinterIncomingJobDefault;
- }
- final printerNames = getPrinterNames();
- var selectedPrinterName = bind.mainGetLocalOption(key: kKeyPrinterSelected);
- if (!printerNames.contains(selectedPrinterName)) {
- if (action == kValuePrinterIncomingJobSelected) {
- action = kValuePrinterIncomingJobDefault;
- bind.mainSetLocalOption(
- key: kKeyPrinterIncomingJobAction,
- value: kValuePrinterIncomingJobDefault);
- if (printerNames.isEmpty) {
- selectedPrinterName = '';
- } else {
- selectedPrinterName = printerNames.first;
- }
- bind.mainSetLocalOption(
- key: kKeyPrinterSelected, value: selectedPrinterName);
- }
- }
- return PrinterOptions(
- action: action,
- printerNames: printerNames,
- printerName: selectedPrinterName);
- }
- }
|