Skip to content

Commit

Permalink
[MINOR] Make changes following client visit
Browse files Browse the repository at this point in the history
  • Loading branch information
gavinhenderson committed Mar 27, 2024
1 parent 66ef8f2 commit b669ffb
Show file tree
Hide file tree
Showing 8 changed files with 48 additions and 13 deletions.
2 changes: 2 additions & 0 deletions DragToSpeak/Components/CellView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ struct CellView: View {
baseColor = .green.opacity(0.5)
case .space:
baseColor = .blue.opacity(0.5)
case .clear:
baseColor = .red.opacity(0.5)
default:
baseColor = .white
}
Expand Down
18 changes: 13 additions & 5 deletions DragToSpeak/Components/MessageAndControlsArea.swift
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
import SwiftUI

struct MessageAndControlsArea: View {
@EnvironmentObject var appSettings: AppSettings

@ObservedObject var messageController: MessageController

var body: some View {
Expand All @@ -16,16 +18,22 @@ struct MessageAndControlsArea: View {
MessageBox(message: messageController.currentMessage)

HStack {
Button(action: {
messageController.clearMessage()
}) {
Label("Clear", systemImage: "trash")
}.buttonStyle(.borderedProminent)
if !appSettings.hideClearButton {
Button(action: {
messageController.clearMessage()
}) {
Label("Clear", systemImage: "trash")
.padding()
}
.buttonStyle(.borderedProminent)
.clipShape(Capsule())
}

SheetLink(destination: {
SettingsPage()
}, label: {
Label("Settings", systemImage: "gear")

})
}
}
Expand Down
4 changes: 3 additions & 1 deletion DragToSpeak/Components/SheetLink.swift
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ struct SheetLink<DestinationContent: View, LabelContent: View>: View {
label
}).sheet(isPresented: $openSheet) {
destination
}.buttonStyle(.borderedProminent)
}
.buttonStyle(BorderedButtonStyle())
.clipShape(Capsule())
}
}
9 changes: 9 additions & 0 deletions DragToSpeak/Model/Cell.swift
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ struct Cell: Equatable, Hashable {
case finish
case delete
case blank
case clear
}

var type: CellType
Expand All @@ -23,6 +24,14 @@ struct Cell: Equatable, Hashable {
var messageText: String
var widthModifier: Double

init(isClear: Bool) {
type = .clear
displayText = "Clear"
messageText = ""
speakText = ""
widthModifier = 1
}

init(isDelete: Bool) {
type = .delete
displayText = "Delete"
Expand Down
8 changes: 4 additions & 4 deletions DragToSpeak/Model/Layout.swift
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ enum Layout: Int {
[Cell(letter:"P"), Cell(letter: "Q"), Cell(letter: "R"), Cell(letter: "S"), Cell(letter: "T")],
[Cell(letter:"U"), Cell(letter: "V"), Cell(letter: "W"), Cell(letter: "X"), Cell(letter: "Y")],
[Cell(letter:"Z"), Cell(isSpace: true), Cell(word: "YES"), Cell(word: "NO"), Cell(isDelete: true)],
[Cell(word:"Thank you"), Cell(word: "OK"), Cell(word: "The"), Cell(word: "Please"), Cell(isFinish: true)],
[Cell(word:"Thank you"), Cell(word: "OK"), Cell(word: "Please"), Cell(isClear: true), Cell(isFinish: true)],
[Cell(letter:"0"), Cell(letter: "1"), Cell(letter: "2"), Cell(letter: "3"), Cell(letter: "4")],
[Cell(letter:"5"), Cell(letter: "6"), Cell(letter: "7"), Cell(letter: "8"), Cell(letter: "9")]]
case .alphabeticalNoNumbers:
Expand All @@ -39,14 +39,14 @@ enum Layout: Int {
[Cell(letter:"P"), Cell(letter: "Q"), Cell(letter: "R"), Cell(letter: "S"), Cell(letter: "T")],
[Cell(letter:"U"), Cell(letter: "V"), Cell(letter: "W"), Cell(letter: "X"), Cell(letter: "Y")],
[Cell(letter:"Z"), Cell(isSpace: true), Cell(word: "YES"), Cell(word: "NO"), Cell(isDelete: true)],
[Cell(word:"Thank you"), Cell(word: "OK"), Cell(word: "The"), Cell(word: "Please"), Cell(isFinish: true)]]
[Cell(word:"Thank you"), Cell(word: "OK"), Cell(word: "Please"), Cell(isClear: true), Cell(isFinish: true)]]
case .frequency:
return [[Cell(letter:" Z"), Cell(letter: "V"), Cell(letter: "C"), Cell(letter: "H"), Cell(letter: "W"), Cell(letter: "K")],
[Cell(letter:"F"), Cell(letter: "I"), Cell(letter: "T"), Cell(letter: "A"), Cell(letter: "L"), Cell(letter: "Y")],
[Cell(letter:""), Cell(isSpace: true), Cell(letter: "N"), Cell(letter: "E"), Cell(isDelete: true), Cell(isFinish: true)],
[Cell(letter:"G"), Cell(letter: "D"), Cell(letter: "O"), Cell(letter: "R"), Cell(letter: "S"), Cell(letter: "B")],
[Cell(letter:"Q"), Cell(letter: "J"), Cell(letter: "U"), Cell(letter: "M"), Cell(letter: "P"), Cell(letter: "X")],
[Cell(word:"Thank you"), Cell(word: "OK"), Cell(word: "The"), Cell(word: "Yes"), Cell(word: "NO"), Cell(word: "Please")],
[Cell(word:"Thank you"), Cell(word: "OK"), Cell(isClear: true), Cell(word: "Yes"), Cell(word: "NO"), Cell(word: "Please")],
[Cell(letter:"0"), Cell(letter: "1"), Cell(letter: "2"), Cell(letter: "3"), Cell(letter: "4"), Cell(isBlank: true)],
[Cell(letter:"5"), Cell(letter: "6"), Cell(letter: "7"), Cell(letter: "8"), Cell(letter: "9"), Cell(isBlank: true)]]
case .qwerty:
Expand All @@ -55,7 +55,7 @@ enum Layout: Int {
[Cell(letter:"Q"), Cell(letter: "W"), Cell(letter: "E"), Cell(letter: "R"), Cell(letter: "T"), Cell(letter: "Y"), Cell(letter: "U"), Cell(letter: "I"), Cell(letter: "O"), Cell(letter: "P")],
[Cell(letter:"A"), Cell(letter: "S"), Cell(letter: "D"), Cell(letter: "F"), Cell(letter: "G"), Cell(letter: "H"), Cell(letter: "J"), Cell(letter: "K"), Cell(letter: "L"), Cell(word: "Some word")],
[Cell(letter:"Z"), Cell(letter: "X"), Cell(letter: "C"), Cell(letter: "V"), Cell(letter: "B"), Cell(letter: "N"), Cell(letter: "M"), Cell(isBlank: true), Cell(letter: "?"), Cell(word: "I need the toilet")],
[Cell(isFinish: true), Cell(isSpace: true), Cell(isDelete: true)]]
[Cell(isFinish: true), Cell(isSpace: true), Cell(isDelete: true), Cell(isClear: true)]]

}
}
Expand Down
3 changes: 3 additions & 0 deletions DragToSpeak/Observable/AppSettings.swift
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,7 @@ class AppSettings: ObservableObject {
@AppStorage("fontSize") var fontSize: Int = 10
@AppStorage("finishOnDragEnd") var finishOnDragEnd: Bool = false
@AppStorage("spacesColumn") var spacesColumn: SpacesColumn = .none
@AppStorage("readEachLetter") var readEachLetter: Bool = true
@AppStorage("hideClearButton") var hideClearButton: Bool = false

}
13 changes: 10 additions & 3 deletions DragToSpeak/Observable/GridController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -56,13 +56,18 @@ class GridController: ObservableObject {

if
let unwrappedMessageController = messageController,
let unwrappedVoiceEngine = voiceEngine
let unwrappedVoiceEngine = voiceEngine,
let unwrappedAppSettings = appSettings
{
if cell.type == .letter {
unwrappedVoiceEngine.speak(cell.speakText)
if unwrappedAppSettings.readEachLetter {
unwrappedVoiceEngine.speak(cell.speakText)
}
unwrappedMessageController.currentMessage += cell.messageText
} else if cell.type == .word {
unwrappedVoiceEngine.speak(cell.speakText)
if unwrappedAppSettings.readEachLetter {
unwrappedVoiceEngine.speak(cell.speakText)
}

if unwrappedMessageController.currentMessage == "" {
unwrappedMessageController.currentMessage = cell.messageText + " "
Expand All @@ -76,6 +81,8 @@ class GridController: ObservableObject {
unwrappedMessageController.finish()
} else if cell.type == .delete {
unwrappedMessageController.currentMessage = String(unwrappedMessageController.currentMessage.dropLast())
} else if cell.type == .clear {
unwrappedMessageController.currentMessage = ""
}

}
Expand Down
4 changes: 4 additions & 0 deletions DragToSpeak/Pages/SettingsPage.swift
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ struct SettingsPage: View {
}
Section {
Toggle("Show Trail", isOn: $settings.showTrail)
Toggle("Hide clear button", isOn: $settings.hideClearButton)

}
Section(content: {
Toggle("Enlarge Keys on Hover", isOn: $settings.enlargeKeys)
Expand Down Expand Up @@ -50,6 +52,8 @@ struct SettingsPage: View {
Text("This will send all sentences to our server for correction. We do not store any sentences.").italic()
}
}
Toggle("Read each letter as you type", isOn: $settings.readEachLetter)

}, header: {
Text("Message")
})
Expand Down

0 comments on commit b669ffb

Please sign in to comment.