Skip to content

Commit

Permalink
Cleaned up Standard mode positioning code. Now everything should line…
Browse files Browse the repository at this point in the history
… up nicely all the time
  • Loading branch information
bartreardon committed Aug 31, 2021
1 parent 70a5e68 commit 0ba0781
Show file tree
Hide file tree
Showing 5 changed files with 167 additions and 165 deletions.
1 change: 1 addition & 0 deletions Nudge/UI/ContentView.swift
Expand Up @@ -80,6 +80,7 @@ struct ContentView: View {
updateUI()
}
}

func updateUI() {
if Utils().requireDualQuitButtons() || viewState.userDeferrals > allowedDeferralsUntilForcedSecondaryQuitButton {
viewState.requireDualQuitButtons = true
Expand Down
12 changes: 8 additions & 4 deletions Nudge/UI/Main.swift
Expand Up @@ -99,19 +99,23 @@ class AppDelegate: NSObject, NSApplicationDelegate {
@main
struct Main: App {
@NSApplicationDelegateAdaptor(AppDelegate.self) var appDelegate

let declaredWindowHeight : CGFloat = 450
let declaredWindowWidth : CGFloat = 900

var body: some Scene {
WindowGroup {
if Utils().debugUIModeEnabled() {
VSplitView {
ContentView()
.frame(width: 900, height: 450)
.frame(width: declaredWindowWidth, height: declaredWindowHeight)
ContentView()
.frame(width: 900, height: 450)
.frame(width: declaredWindowWidth, height: declaredWindowHeight)
}
.frame(height: 900)
//.frame(height: declaredWindowHeight*2)
} else {
ContentView()
.frame(width: 900, height: 450)
.frame(width: declaredWindowWidth, height: declaredWindowHeight)
}
}
// Hide Title Bar
Expand Down
211 changes: 107 additions & 104 deletions Nudge/UI/StandardMode/LeftSide.swift
Expand Up @@ -20,140 +20,143 @@ struct StandardModeLeftSide: View {
let logowidth : CGFloat = 200
let logoheight : CGFloat = 150

let contentWidthPadding : CGFloat = 25
let bottomPadding : CGFloat = 10

// Nudge UI
var body: some View {
let darkMode = colorScheme == .dark
let companyLogoPath = Utils().getCompanyLogoPath(darkMode: darkMode)
// Left side of Nudge
GeometryReader { geometry in
VStack {
VStack(alignment: .center, spacing: 20) {
HStack {
Button(action: {
Utils().userInitiatedDeviceInfo()
self.showDeviceInfo.toggle()
}) {
Image(systemName: "questionmark.circle")
}
.padding(.top, 1.0)
.buttonStyle(.plain)
.help("Click for additional device information".localized(desiredLanguage: getDesiredLanguage()))
.onHover { inside in
if inside {
NSCursor.pointingHand.push()
} else {
NSCursor.pop()
}
}
.sheet(isPresented: $showDeviceInfo) {
DeviceInfo()
}
Spacer()
VStack {
VStack(alignment: .center, spacing: 20) {
HStack {
Button(action: {
Utils().userInitiatedDeviceInfo()
self.showDeviceInfo.toggle()
}) {
Image(systemName: "questionmark.circle")
}

// Company Logo
Group {
if FileManager.default.fileExists(atPath: companyLogoPath) {
Image(nsImage: Utils().createImageData(fileImagePath: companyLogoPath))
.resizable()
.aspectRatio(contentMode: .fit)
.scaledToFit()
.frame(width: logowidth, height: logoheight)
.padding(.top, 1.0)
.buttonStyle(.plain)
.help("Click for additional device information".localized(desiredLanguage: getDesiredLanguage()))
.onHover { inside in
if inside {
NSCursor.pointingHand.push()
} else {
Image(systemName: "applelogo")
.resizable()
.aspectRatio(contentMode: .fit)
.scaledToFit()
.frame(width: logowidth, height: logoheight)
NSCursor.pop()
}
}
.sheet(isPresented: $showDeviceInfo) {
DeviceInfo()
}
Spacer()
}

// Company Logo
Group {
if FileManager.default.fileExists(atPath: companyLogoPath) {
Image(nsImage: Utils().createImageData(fileImagePath: companyLogoPath))
.resizable()
.aspectRatio(contentMode: .fit)
.scaledToFit()
.frame(width: logowidth, height: logoheight)
} else {
Image(systemName: "applelogo")
.resizable()
.aspectRatio(contentMode: .fit)
.scaledToFit()
.frame(width: logowidth, height: logoheight)
}
}

// Horizontal line
// Horizontal line
HStack{
Rectangle()
.fill(Color.gray.opacity(0.5))
.frame(height: 1)
}
.padding(.leading,contentWidthPadding)
.padding(.trailing,contentWidthPadding)

VStack(alignment: .center, spacing: 10) {
// Required OS Version
HStack{
Rectangle()
.fill(Color.gray.opacity(0.5))
.frame(height: 1)
Text("Required OS Version:".localized(desiredLanguage: getDesiredLanguage()))
.fontWeight(.bold)
Spacer()
Text(String(requiredMinimumOSVersion))
.foregroundColor(.secondary)
.fontWeight(.bold)
}
.frame(width: geometry.size.width*0.8)

VStack(alignment: .center, spacing: 10) {
// Required OS Version
HStack{
Text("Required OS Version:".localized(desiredLanguage: getDesiredLanguage()))
// Current OS Version
HStack{
Text("Current OS Version:".localized(desiredLanguage: getDesiredLanguage()))
Spacer()
Text(currentOSVersion)
.foregroundColor(.secondary)
}

// Days Remaining
HStack{
Text("Days Remaining To Update:".localized(desiredLanguage: getDesiredLanguage()))
Spacer()
if viewObserved.daysRemaining <= 0 && !Utils().demoModeEnabled() {
Text(String(viewObserved.daysRemaining))
.foregroundColor(.red)
.fontWeight(.bold)
Spacer()
Text(String(requiredMinimumOSVersion))
} else {
Text(String(viewObserved.daysRemaining))
.foregroundColor(.secondary)
.fontWeight(.bold)
}
}

// Current OS Version
// Deferred Count
// Show by default, allow to be hidden via preference
if showDeferralCount {
HStack{
Text("Current OS Version:".localized(desiredLanguage: getDesiredLanguage()))
Text("Deferred Count:".localized(desiredLanguage: getDesiredLanguage()))
Spacer()
Text(currentOSVersion)
Text(String(viewObserved.userDeferrals))
.foregroundColor(.secondary)
}

// Days Remaining
HStack{
Text("Days Remaining To Update:".localized(desiredLanguage: getDesiredLanguage()))
Spacer()
if viewObserved.daysRemaining <= 0 && !Utils().demoModeEnabled() {
Text(String(viewObserved.daysRemaining))
.foregroundColor(.red)
.fontWeight(.bold)
} else {
Text(String(viewObserved.daysRemaining))
.foregroundColor(.secondary)
}
}

// Deferred Count
// Show by default, allow to be hidden via preference
if showDeferralCount {
HStack{
Text("Deferred Count:".localized(desiredLanguage: getDesiredLanguage()))
Spacer()
Text(String(viewObserved.userDeferrals))
.foregroundColor(.secondary)
}
}
}
.frame(width: geometry.size.width*0.8)
}
.padding(.leading,contentWidthPadding)
.padding(.trailing,contentWidthPadding)
}

// Force buttons to the bottom with a spacer
Spacer()
// Force buttons to the bottom with a spacer
Spacer()

// More Info
HStack {
// informationButton
if aboutUpdateURL != "" {
Button(action: Utils().openMoreInfo, label: {
Text(informationButtonText)
.foregroundColor(.secondary)
}
)
.buttonStyle(.plain)
.help("Click for more information about the security update".localized(desiredLanguage: getDesiredLanguage()))
.onHover { inside in
if inside {
NSCursor.pointingHand.push()
} else {
NSCursor.pop()
}
// More Info
HStack {
// informationButton
if aboutUpdateURL != "" {
Button(action: Utils().openMoreInfo, label: {
Text(informationButtonText)
.foregroundColor(.secondary)
}
)
.buttonStyle(.plain)
.help("Click for more information about the security update".localized(desiredLanguage: getDesiredLanguage()))
.onHover { inside in
if inside {
NSCursor.pointingHand.push()
} else {
NSCursor.pop()
}

}
// Force the button to the left with a spacer
Spacer()

}
.frame(width: geometry.size.width*0.8)
.offset(y: 15)
// Force the button to the left with a spacer
Spacer()
}
.padding(.leading,contentWidthPadding)
.padding(.trailing,contentWidthPadding)
}
.frame(width: 280, alignment: .center)
.padding(.bottom, bottomPadding)
}
}

Expand Down

0 comments on commit 0ba0781

Please sign in to comment.