Skip to content

Commit

Permalink
v3.7.4
Browse files Browse the repository at this point in the history
  • Loading branch information
alienator88 committed Jun 19, 2024
1 parent bdf6578 commit 3232c81
Show file tree
Hide file tree
Showing 6 changed files with 77 additions and 18 deletions.
8 changes: 4 additions & 4 deletions Pearcleaner.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -572,8 +572,8 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
APP_BUILD = 48;
APP_VERSION = 3.7.3;
APP_BUILD = 49;
APP_VERSION = 3.7.4;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
Expand Down Expand Up @@ -642,8 +642,8 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
APP_BUILD = 48;
APP_VERSION = 3.7.3;
APP_BUILD = 49;
APP_VERSION = 3.7.4;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
Expand Down
28 changes: 27 additions & 1 deletion Pearcleaner/Logic/AppCommands.swift
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,33 @@ struct AppCommands: Commands {

}



// Tools Menu
CommandMenu(Text("Tools", comment: "Tools Menu")) {

Button
{
if !appState.appInfo.bundleIdentifier.isEmpty {
appState.showConditionBuilder = true
}
} label: {
Label("Condition Builder", systemImage: "hammer")
}
.keyboardShortcut("b", modifiers: .command)

Button
{
if !appState.appInfo.bundleIdentifier.isEmpty {
saveURLsToFile(urls: appState.selectedItems, appState: appState)
}
} label: {
Label("Export Files", systemImage: "square.and.arrow.up")
}
.keyboardShortcut("e", modifiers: .command)


}


// GitHub Menu
CommandMenu(Text("GitHub", comment: "Github Repo")) {
Expand Down
1 change: 1 addition & 0 deletions Pearcleaner/Logic/AppState.swift
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ class AppState: ObservableObject {
@Published var permissionResults: PermissionsCheckResults?
@Published var showUninstallAlert: Bool = false
@Published var oneShotMode: Bool = false
@Published var showConditionBuilder: Bool = false



Expand Down
35 changes: 34 additions & 1 deletion Pearcleaner/Logic/Utilities.swift
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,40 @@ func caskCleanup(app: String) {
process.waitUntilExit() // Ensure the process completes
let data = pipe.fileHandleForReading.readDataToEndOfFile()
let output = (String(data: data, encoding: .utf8) ?? "") as String
print(output)
printOS(output)
}
}


// Print list of files locally
func saveURLsToFile(urls: Set<URL>, appState: AppState) {
let panel = NSOpenPanel()
panel.canChooseFiles = false
panel.canChooseDirectories = true
panel.allowsMultipleSelection = false
panel.prompt = "Select Folder"

if panel.runModal() == .OK, let selectedFolder = panel.url {
let filePath = selectedFolder.appendingPathComponent("Export-\(appState.appInfo.appName)(v\(appState.appInfo.appVersion)).txt")
var fileContent = ""
var count = 1
let sortedUrls = urls.sorted { $0.path < $1.path }

for url in sortedUrls {
fileContent += "[\(count)] - \(url.path)\n"
count += 1
}

do {
try fileContent.write(to: filePath, atomically: true, encoding: .utf8)
printOS("File saved successfully at \(filePath.path)")
// Open Finder and select the file
NSWorkspace.shared.selectFile(filePath.path, inFileViewerRootedAtPath: filePath.deletingLastPathComponent().path)
} catch {
printOS("Error saving file: \(error)")
}
} else {
printOS("Folder selection was canceled.")
}
}

Expand Down
3 changes: 1 addition & 2 deletions Pearcleaner/PearcleanerApp.swift
Original file line number Diff line number Diff line change
Expand Up @@ -126,8 +126,7 @@ struct PearcleanerApp: App {
}
// Get new features
getFeatures(appState: appState, features: $features)
// Load extra conditions from GitHub
// loadConditionsFromGitHub() // REPLACE THIS WITH NEW CONDITION MANAGER

}
}

Expand Down
20 changes: 10 additions & 10 deletions Pearcleaner/Views/FilesView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ struct FilesView: View {
@AppStorage("settings.general.sizeType") var sizeType: String = "Real"
@AppStorage("settings.general.filesWarning") private var warning: Bool = false
@State private var showAlert = false
@State private var showConditionBuilder = false
// @State private var showConditionBuilder = false
@Environment(\.colorScheme) var colorScheme
@Binding var showPopover: Bool
@Binding var search: String
Expand Down Expand Up @@ -278,12 +278,12 @@ struct FilesView: View {
.padding(.top)


Button("Builder") {
showConditionBuilder = true
}
.buttonStyle(SimpleButtonStyle(icon: "hammer.fill", help: "Condition Builder", size: 14))
.padding(.top)
.padding(.trailing, 5)
// Button("Builder") {
// appState.showConditionBuilder = true
// }
// .buttonStyle(SimpleButtonStyle(icon: "hammer.fill", help: "Condition Builder", size: 14))
// .padding(.top)
// .padding(.trailing, 5)


Button("\(sizeType == "Logical" ? totalSelectedSize.logical : sizeType == "Finder" ? totalSelectedSize.finder : totalSelectedSize.real)") {
Expand Down Expand Up @@ -395,11 +395,11 @@ struct FilesView: View {
Spacer()
}
.padding(15)
.frame(width: 400, height: 200)
.frame(width: 400, height: 220)
.background(GlassEffect(material: .hudWindow, blendingMode: .behindWindow))
})
.sheet(isPresented: $showConditionBuilder, content: {
ConditionBuilderView(showAlert: $showConditionBuilder, bundle: appState.appInfo.bundleIdentifier)
.sheet(isPresented: $appState.showConditionBuilder, content: {
ConditionBuilderView(showAlert: $appState.showConditionBuilder, bundle: appState.appInfo.bundleIdentifier)
})
.onAppear {
if !warning {
Expand Down

0 comments on commit 3232c81

Please sign in to comment.