diff options
Diffstat (limited to 'iTexSnip')
| -rw-r--r-- | iTexSnip/Views/MenuBarView.swift | 47 | 
1 files changed, 39 insertions, 8 deletions
| diff --git a/iTexSnip/Views/MenuBarView.swift b/iTexSnip/Views/MenuBarView.swift index 255ad99..4face4d 100644 --- a/iTexSnip/Views/MenuBarView.swift +++ b/iTexSnip/Views/MenuBarView.swift @@ -38,6 +38,7 @@ struct MenuBarView: View {    @Environment(\.modelContext) var modelContext    @State var model: TexTellerModel?    @Query(sort: \ImageSnippet.dateModifed, order: .reverse) var snippets: [ImageSnippet] +    @AppStorage("loadModelOnStart") var loadModelOnStart: Bool = true    let columns = [      GridItem(.flexible(), spacing: 16), @@ -99,15 +100,17 @@ struct MenuBarView: View {          Spacer()        }.task { -        do { -          if self.model == nil { -            let mymodel = try await TexTellerModel.asyncInit() -            self.model = mymodel -            print("Loaded da model") +          if loadModelOnStart { +              do { +                  if self.model == nil { +                      let mymodel = try await TexTellerModel.asyncInit() +                      self.model = mymodel +                      print("Loaded da model") +                  } +              } catch { +                  print("Failed to load da model: \(error)") +              }            } -        } catch { -          print("Failed to load da model: \(error)") -        }        }      }    } @@ -122,6 +125,17 @@ struct MenuBarView: View {      if panel.runModal() == .OK {        if let url = panel.url, let image = NSImage(contentsOf: url) {          let newSnippet = ImageSnippet(image: image) +          if self.loadModelOnStart == false { +              do { +                  if self.model == nil { +                      let mymodel = try TexTellerModel() +                      self.model = mymodel +                      print("Loaded model on demand") +                  } +              } catch { +                  print("Failed to load da model: \(error)") +              } +          }          do {            if self.model != nil {              let latex = try self.model!.texIt(image) @@ -132,6 +146,9 @@ struct MenuBarView: View {          } catch {            print("Failed to save new snippet: \(error)")          } +          if self.loadModelOnStart == false { +              self.model = nil +          }        }      }    } @@ -167,6 +184,17 @@ struct MenuBarView: View {          if FileManager.default.fileExists(atPath: tempPath) {            if let screenshotImage = NSImage(contentsOfFile: tempPath) {              let newSnippet = ImageSnippet(image: screenshotImage) +              if self.loadModelOnStart == false { +                  do { +                      if self.model == nil { +                          let mymodel = try TexTellerModel() +                          self.model = mymodel +                          print("Loaded model on demand") +                      } +                  } catch { +                      print("Failed to load da model: \(error)") +                  } +              }              do {                if self.model != nil {                  let latex = try self.model!.texIt(screenshotImage) @@ -177,6 +205,9 @@ struct MenuBarView: View {              } catch {                print("Failed to add snippet: \(error)")              } +              if (self.loadModelOnStart == false) { +                  self.model = nil +              }            } else {              print("Failed to get image...")            } | 
