Compare commits
	
		
			1 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 6676e62889 | 
| @@ -410,7 +410,7 @@ | ||||
| 				"CODE_SIGN_IDENTITY[sdk=macosx*]" = "-"; | ||||
| 				CODE_SIGN_STYLE = Automatic; | ||||
| 				COMBINE_HIDPI_IMAGES = YES; | ||||
| 				CURRENT_PROJECT_VERSION = 6; | ||||
| 				CURRENT_PROJECT_VERSION = 7; | ||||
| 				ENABLE_PREVIEWS = YES; | ||||
| 				GENERATE_INFOPLIST_FILE = YES; | ||||
| 				INFOPLIST_FILE = BusyMirror/Info.plist; | ||||
| @@ -421,7 +421,7 @@ | ||||
| 					"$(inherited)", | ||||
| 					"@executable_path/../Frameworks", | ||||
| 				); | ||||
| 				MARKETING_VERSION = 1.2.4; | ||||
| 				MARKETING_VERSION = 1.2.5; | ||||
| 				PRODUCT_BUNDLE_IDENTIFIER = com.cqrenet.BusyMirror; | ||||
| 				PRODUCT_NAME = "$(TARGET_NAME)"; | ||||
| 				REGISTER_APP_GROUPS = YES; | ||||
| @@ -440,7 +440,7 @@ | ||||
| 				"CODE_SIGN_IDENTITY[sdk=macosx*]" = "-"; | ||||
| 				CODE_SIGN_STYLE = Automatic; | ||||
| 				COMBINE_HIDPI_IMAGES = YES; | ||||
| 				CURRENT_PROJECT_VERSION = 6; | ||||
| 				CURRENT_PROJECT_VERSION = 7; | ||||
| 				ENABLE_PREVIEWS = YES; | ||||
| 				GENERATE_INFOPLIST_FILE = YES; | ||||
| 				INFOPLIST_FILE = BusyMirror/Info.plist; | ||||
| @@ -451,7 +451,7 @@ | ||||
| 					"$(inherited)", | ||||
| 					"@executable_path/../Frameworks", | ||||
| 				); | ||||
| 				MARKETING_VERSION = 1.2.4; | ||||
| 				MARKETING_VERSION = 1.2.5; | ||||
| 				PRODUCT_BUNDLE_IDENTIFIER = com.cqrenet.BusyMirror; | ||||
| 				PRODUCT_NAME = "$(TARGET_NAME)"; | ||||
| 				REGISTER_APP_GROUPS = YES; | ||||
|   | ||||
| @@ -150,6 +150,13 @@ struct ContentView: View { | ||||
|     @AppStorage("placeholderTitle") private var placeholderTitle: String = "Busy"   // global customizable placeholder title | ||||
|     @AppStorage("autoDeleteMissing") private var autoDeleteMissing: Bool = true       // delete mirrors whose source instance no longer exists | ||||
|      | ||||
|     // Mirrors can run either by manual selection (source + at least one target) | ||||
|     // or using predefined routes. This derived flag controls the Mirror Now button. | ||||
|     private var canRunMirrorNow: Bool { | ||||
|         let manualOK = !targetIDs.isEmpty && sourceIndex < calendars.count | ||||
|         return hasAccess && !isRunning && !calendars.isEmpty && (manualOK || !routes.isEmpty) | ||||
|     } | ||||
|      | ||||
|     private static let intFormatter: NumberFormatter = { | ||||
|         let f = NumberFormatter() | ||||
|         f.numberStyle = .none | ||||
| @@ -550,7 +557,7 @@ struct ContentView: View { | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
|                 .disabled(isRunning || calendars.isEmpty || (routes.isEmpty && targetSelections.isEmpty)) | ||||
|                 .disabled(!canRunMirrorNow) | ||||
|  | ||||
|                 Button("Cleanup Placeholders") { | ||||
|                     if writeEnabled { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user