mirror of
https://github.com/exituser/Pearcleaner.git
synced 2026-09-17 06:09:01 +00:00
v3.8.2
This commit is contained in:
@@ -529,8 +529,8 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
APP_BUILD = 55;
|
||||
APP_VERSION = 3.8.1;
|
||||
APP_BUILD = 56;
|
||||
APP_VERSION = 3.8.2;
|
||||
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||
@@ -599,8 +599,8 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
APP_BUILD = 55;
|
||||
APP_VERSION = 3.8.1;
|
||||
APP_BUILD = 56;
|
||||
APP_VERSION = 3.8.2;
|
||||
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||
|
||||
@@ -103,10 +103,11 @@ struct PearcleanerApp: App {
|
||||
if menubarEnabled {
|
||||
MenuBarExtraManager.shared.addMenuBarExtra(withView: {
|
||||
MiniAppView(search: $search, showPopover: $showPopover, isMenuBar: true)
|
||||
.environmentObject(locations)
|
||||
.environmentObject(appState)
|
||||
.environmentObject(locations)
|
||||
.environmentObject(fsm)
|
||||
.environmentObject(themeManager)
|
||||
.environmentObject(updater)
|
||||
.environmentObject(permissionManager)
|
||||
.preferredColorScheme(themeManager.displayMode.colorScheme)
|
||||
}, icon: selectedMenubarIcon)
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "pear-1.5.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 561 B |
@@ -1,21 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "pear-1.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 565 B |
@@ -1,21 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "pear-2.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.0 KiB |
@@ -1,21 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "pear-3.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.1 KiB |
@@ -1,21 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "pear-4.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.0 KiB |
@@ -24,7 +24,7 @@ struct AboutSettingsTab: View {
|
||||
|
||||
VStack(alignment: .center, spacing: 10) {
|
||||
Image(nsImage: NSApp.applicationIconImage)
|
||||
.padding(.top, 30)
|
||||
// .padding(.top, 20)
|
||||
Text(Bundle.main.name)
|
||||
.font(.title)
|
||||
.bold()
|
||||
@@ -141,10 +141,12 @@ struct AboutSettingsTab: View {
|
||||
.padding(5)
|
||||
.padding(.leading)
|
||||
|
||||
Spacer()
|
||||
|
||||
Text("Made with ❤️ by Alin Lupascu").font(.footnote)//.padding(.bottom)
|
||||
}
|
||||
.padding(20)
|
||||
.frame(width: 500)
|
||||
.frame(width: 500, height: 500)
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,6 +17,8 @@ struct FolderSettingsTab: View {
|
||||
@EnvironmentObject var fsm: FolderSettingsManager
|
||||
@EnvironmentObject var themeManager: ThemeManager
|
||||
@State private var isHovered = false
|
||||
@AppStorage("settings.general.glass") private var glass: Bool = false
|
||||
|
||||
|
||||
var body: some View {
|
||||
Form {
|
||||
@@ -79,7 +81,7 @@ struct FolderSettingsTab: View {
|
||||
.padding()
|
||||
.frame(height: 200)
|
||||
// .background(.primary.opacity(0.05))
|
||||
.background(backgroundView(themeManager: themeManager, darker: true))
|
||||
.background(backgroundView(themeManager: themeManager, darker: true, glass: glass))
|
||||
.clipShape(RoundedRectangle(cornerRadius: 10))
|
||||
.onDrop(of: ["public.file-url"], isTargeted: nil) { providers -> Bool in
|
||||
providers.forEach { provider in
|
||||
@@ -172,7 +174,7 @@ struct FolderSettingsTab: View {
|
||||
.scrollIndicators(.automatic)
|
||||
.padding()
|
||||
.frame(height: 200)
|
||||
.background(backgroundView(themeManager: themeManager, darker: true))
|
||||
.background(backgroundView(themeManager: themeManager, darker: true, glass: glass))
|
||||
// .background(.primary.opacity(0.05))
|
||||
.clipShape(RoundedRectangle(cornerRadius: 10))
|
||||
.onDrop(of: ["public.file-url"], isTargeted: nil) { providers -> Bool in
|
||||
@@ -199,9 +201,11 @@ struct FolderSettingsTab: View {
|
||||
.padding(.top, 5)
|
||||
}
|
||||
|
||||
Spacer()
|
||||
|
||||
}
|
||||
.padding(20)
|
||||
.frame(width: 500)//, height: 600)
|
||||
.frame(width: 500, height: 580)
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -23,8 +23,7 @@ struct GeneralSettingsTab: View {
|
||||
@State private var isResetting = false
|
||||
|
||||
var body: some View {
|
||||
Form {
|
||||
VStack {
|
||||
VStack() {
|
||||
|
||||
HStack() {
|
||||
Text("Functionality").font(.title2)
|
||||
@@ -229,14 +228,14 @@ struct GeneralSettingsTab: View {
|
||||
}
|
||||
.padding(.vertical, 5)
|
||||
|
||||
Spacer()
|
||||
|
||||
}
|
||||
.onAppear {
|
||||
appState.updateExtensionStatus()
|
||||
}
|
||||
|
||||
}
|
||||
.padding(20)
|
||||
.frame(width: 500)//, height: 710)
|
||||
.frame(width: 500, height: 500)
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -14,6 +14,8 @@ import AlinFoundation
|
||||
struct InterfaceSettingsTab: View {
|
||||
@EnvironmentObject var appState: AppState
|
||||
@EnvironmentObject var locations: Locations
|
||||
@EnvironmentObject var updater: Updater
|
||||
@EnvironmentObject var permissionManager: PermissionManager
|
||||
@EnvironmentObject var fsm: FolderSettingsManager
|
||||
@EnvironmentObject var themeManager: ThemeManager
|
||||
@State private var windowSettings = WindowSettings()
|
||||
@@ -22,16 +24,26 @@ struct InterfaceSettingsTab: View {
|
||||
@AppStorage("settings.general.glass") private var glass: Bool = false
|
||||
@AppStorage("settings.general.popover") private var popoverStay: Bool = true
|
||||
@AppStorage("settings.general.miniview") private var miniView: Bool = true
|
||||
@AppStorage("settings.interface.selectedMenubarIcon") var selectedMenubarIcon: String = "pear-4"
|
||||
@AppStorage("settings.interface.selectedMenubarIcon") var selectedMenubarIcon: String = "bubbles.and.sparkles"
|
||||
@State private var isLaunchAtLoginEnabled: Bool = false
|
||||
@Binding var showPopover: Bool
|
||||
@Binding var search: String
|
||||
let icons = ["externaldrive", "trash", "folder", "pear-1", "pear-1.5", "pear-2", "pear-3", "pear-4"]
|
||||
let icons = [ "bubbles.and.sparkles",
|
||||
"bubbles.and.sparkles.fill",
|
||||
"trash",
|
||||
"trash.fill",
|
||||
"xmark.bin",
|
||||
"xmark.bin.fill",
|
||||
"folder",
|
||||
"folder.fill",
|
||||
"folder.badge.minus",
|
||||
"folder.badge.plus",
|
||||
"archivebox",
|
||||
"archivebox.fill"]
|
||||
|
||||
|
||||
var body: some View {
|
||||
|
||||
Form {
|
||||
VStack {
|
||||
|
||||
HStack() {
|
||||
@@ -87,193 +99,6 @@ struct InterfaceSettingsTab: View {
|
||||
|
||||
|
||||
|
||||
// HStack(spacing: 0) {
|
||||
// Image(systemName: themesEnabled ? "paintpalette.fill" : "paintpalette")
|
||||
// .resizable()
|
||||
// .scaledToFit()
|
||||
// .frame(width: 20, height: 20)
|
||||
// .padding(.trailing)
|
||||
// .foregroundStyle(.primary.opacity(0.5))
|
||||
// VStack(alignment: .leading, spacing: 5) {
|
||||
// Text("\(themesEnabled ? "Custom theming is enabled" : "Custom theming is disabled")")
|
||||
// .font(.callout)
|
||||
// .foregroundStyle(.primary.opacity(0.5))
|
||||
// }
|
||||
// Spacer()
|
||||
// Toggle(isOn: $themesEnabled, label: {
|
||||
// })
|
||||
// .toggleStyle(.switch)
|
||||
// .onChange(of: themesEnabled) { newVal in
|
||||
// themeManager.resetToDefault(dark: isDarkMode())
|
||||
// if isDarkMode() {
|
||||
// displayMode.colorScheme = .dark
|
||||
// } else {
|
||||
// displayMode.colorScheme = .light
|
||||
// }
|
||||
// if newVal {
|
||||
// selectedTheme = isDarkMode() ? "Dark" : "Light"
|
||||
// } else {
|
||||
// selectedTheme = "Auto"
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// .padding(5)
|
||||
// .padding(.leading)
|
||||
//
|
||||
//
|
||||
// /// Show theme color selector if theming is enabled
|
||||
// if themesEnabled {
|
||||
// HStack(spacing: 0) {
|
||||
// Image(systemName: "paintbrush")
|
||||
// .resizable()
|
||||
// .scaledToFit()
|
||||
// .frame(width: 20, height: 20)
|
||||
// .padding(.trailing)
|
||||
// .foregroundStyle(.primary.opacity(0.5))
|
||||
// VStack(alignment: .leading, spacing: 5) {
|
||||
// Text("Application theme color")
|
||||
// .font(.callout)
|
||||
// .foregroundStyle(.primary.opacity(0.5))
|
||||
// }
|
||||
//
|
||||
// Spacer()
|
||||
//
|
||||
//
|
||||
// HStack(spacing: 10) {
|
||||
// Button("") {
|
||||
// themeManager.setPreset(preset: "pearcleaner", colorScheme: displayMode)
|
||||
// }
|
||||
//// .buttonStyle(PresetColor(fillColor: themeManager.getColorForPreset(preset: "pearcleaner", colorScheme: displayMode), label: "Pearcleaner"))
|
||||
//
|
||||
// Button("") {
|
||||
// themeManager.setPreset(preset: "dracula", colorScheme: displayMode)
|
||||
// }
|
||||
//// .buttonStyle(PresetColor(fillColor: themeManager.getColorForPreset(preset: "dracula", colorScheme: displayMode), label: "Dracula"))
|
||||
//
|
||||
// Button("") {
|
||||
// themeManager.setPreset(preset: "solarized", colorScheme: displayMode)
|
||||
// }
|
||||
//// .buttonStyle(PresetColor(fillColor: themeManager.getColorForPreset(preset: "solarized", colorScheme: displayMode), label: "Solarized"))
|
||||
//
|
||||
// Button("") {
|
||||
// themeManager.setPreset(preset: "macOS", colorScheme: displayMode)
|
||||
// }
|
||||
//// .buttonStyle(PresetColor(fillColor: themeManager.getColorForPreset(preset: "macOS", colorScheme: displayMode), label: "macOS"))
|
||||
// }
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
// Spacer()
|
||||
//
|
||||
// ColorPicker("", selection: $themeManager.themeColor, supportsOpacity: false)
|
||||
// .onChange(of: themeManager.themeColor) { newValue in
|
||||
// themeManager.saveThemeColor()
|
||||
// }
|
||||
// .padding(.horizontal, 5)
|
||||
//
|
||||
// Button("") {
|
||||
// themeManager.resetToDefault(dark: isDarkMode())
|
||||
// if isDarkMode() {
|
||||
// displayMode.colorScheme = .dark
|
||||
// } else {
|
||||
// displayMode.colorScheme = .light
|
||||
// }
|
||||
// selectedTheme = isDarkMode() ? "Dark" : "Light"
|
||||
// }
|
||||
// .buttonStyle(SimpleButtonStyle(icon: "arrow.uturn.left.circle", help: "Reset color to default"))
|
||||
//
|
||||
// }
|
||||
// .padding(5)
|
||||
// .padding(.leading)
|
||||
// }
|
||||
|
||||
|
||||
|
||||
// HStack(spacing: 0) {
|
||||
// Image(systemName: {
|
||||
// switch displayMode {
|
||||
// case .dark:
|
||||
// return "moon.fill"
|
||||
// case .light:
|
||||
// return "sun.max.fill"
|
||||
// case .system:
|
||||
// return "circle.righthalf.filled"
|
||||
// }
|
||||
// }())
|
||||
// .resizable()
|
||||
// .scaledToFit()
|
||||
// .frame(width: 20, height: 20)
|
||||
// .padding(.trailing)
|
||||
// .foregroundStyle(.primary.opacity(0.5))
|
||||
// VStack(alignment: .leading, spacing: 5) {
|
||||
// Text(themesEnabled ? "Application font color" : "Application color mode")
|
||||
// .font(.callout)
|
||||
// .foregroundStyle(.primary.opacity(0.5))
|
||||
// }
|
||||
// InfoButton(text: "When custom theming is disabled, you can set the application color mode to follow the operating system using Auto. Or manually set it to Light or Dark. When custom theming is enabled, this selector acts mainly as a font color picker between light or dark to match your custom theme color.")
|
||||
// Spacer()
|
||||
// Picker("", selection: $selectedTheme) {
|
||||
// if !themesEnabled {
|
||||
// Text("Auto")
|
||||
// .tag("Auto")
|
||||
// }
|
||||
// Text(themesEnabled ? "Light" : "Dark")
|
||||
// .tag("Dark")
|
||||
// Text(themesEnabled ? "Dark" : "Light")
|
||||
// .tag("Light")
|
||||
// }
|
||||
// .buttonStyle(.borderless)
|
||||
// .onChange(of: selectedTheme) { newTheme in
|
||||
// switch newTheme {
|
||||
// case "Auto":
|
||||
// if isDarkMode() {
|
||||
// displayMode.colorScheme = .dark
|
||||
// } else {
|
||||
// displayMode.colorScheme = .light
|
||||
// }
|
||||
// if !themesEnabled {
|
||||
// themeManager.resetToDefault(dark: isDarkMode())
|
||||
// }
|
||||
// // Refresh foreground colors
|
||||
// DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
|
||||
// self.selectedTab = .interface
|
||||
// }
|
||||
// if menubarEnabled{
|
||||
// MenuBarExtraManager.shared.restartMenuBarExtra()
|
||||
// }
|
||||
// case "Dark":
|
||||
// displayMode.colorScheme = .dark
|
||||
// if !themesEnabled {
|
||||
// themeManager.resetToDefault(dark: true)
|
||||
// }
|
||||
// DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
|
||||
// self.selectedTab = .interface
|
||||
// }
|
||||
// if menubarEnabled{
|
||||
// MenuBarExtraManager.shared.restartMenuBarExtra()
|
||||
// }
|
||||
// case "Light":
|
||||
// displayMode.colorScheme = .light
|
||||
// if !themesEnabled {
|
||||
// themeManager.resetToDefault(dark: false)
|
||||
// }
|
||||
// DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
|
||||
// self.selectedTab = .interface
|
||||
// }
|
||||
// if menubarEnabled{
|
||||
// MenuBarExtraManager.shared.restartMenuBarExtra()
|
||||
// }
|
||||
// default:
|
||||
// break
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// .padding(5)
|
||||
// .padding(.leading)
|
||||
|
||||
|
||||
|
||||
// === Mini =================================================================================================
|
||||
|
||||
Divider()
|
||||
@@ -311,10 +136,12 @@ struct InterfaceSettingsTab: View {
|
||||
showPopover = false
|
||||
windowSettings.newWindow(withView: {
|
||||
MiniMode(search: $search, showPopover: $showPopover)
|
||||
.environmentObject(locations)
|
||||
.environmentObject(appState)
|
||||
.environmentObject(locations)
|
||||
.environmentObject(fsm)
|
||||
.environmentObject(themeManager)
|
||||
.environmentObject(updater)
|
||||
.environmentObject(permissionManager)
|
||||
.preferredColorScheme(themeManager.displayMode.colorScheme)
|
||||
}) {
|
||||
resizeWindowAuto(windowSettings: windowSettings, title: "Pearcleaner")
|
||||
@@ -327,10 +154,12 @@ struct InterfaceSettingsTab: View {
|
||||
}
|
||||
windowSettings.newWindow(withView: {
|
||||
RegularMode(search: $search, showPopover: $showPopover)
|
||||
.environmentObject(locations)
|
||||
.environmentObject(appState)
|
||||
.environmentObject(locations)
|
||||
.environmentObject(fsm)
|
||||
.environmentObject(themeManager)
|
||||
.environmentObject(updater)
|
||||
.environmentObject(permissionManager)
|
||||
.preferredColorScheme(themeManager.displayMode.colorScheme)
|
||||
}
|
||||
) {
|
||||
@@ -429,10 +258,12 @@ struct InterfaceSettingsTab: View {
|
||||
if newVal {
|
||||
MenuBarExtraManager.shared.addMenuBarExtra(withView: {
|
||||
MiniAppView(search: $search, showPopover: $showPopover, isMenuBar: true)
|
||||
.environmentObject(locations)
|
||||
.environmentObject(appState)
|
||||
.environmentObject(locations)
|
||||
.environmentObject(fsm)
|
||||
.environmentObject(themeManager)
|
||||
.environmentObject(updater)
|
||||
.environmentObject(permissionManager)
|
||||
.preferredColorScheme(themeManager.displayMode.colorScheme)
|
||||
}, icon: selectedMenubarIcon)
|
||||
NSApplication.shared.setActivationPolicy(.accessory)
|
||||
@@ -445,10 +276,12 @@ struct InterfaceSettingsTab: View {
|
||||
if mini {
|
||||
windowSettings.newWindow(withView: {
|
||||
MiniMode(search: $search, showPopover: $showPopover)
|
||||
.environmentObject(locations)
|
||||
.environmentObject(appState)
|
||||
.environmentObject(locations)
|
||||
.environmentObject(fsm)
|
||||
.environmentObject(themeManager)
|
||||
.environmentObject(updater)
|
||||
.environmentObject(permissionManager)
|
||||
.preferredColorScheme(themeManager.displayMode.colorScheme)
|
||||
}) {
|
||||
resizeWindowAuto(windowSettings: windowSettings, title: "Pearcleaner")
|
||||
@@ -456,10 +289,12 @@ struct InterfaceSettingsTab: View {
|
||||
} else {
|
||||
windowSettings.newWindow(withView: {
|
||||
RegularMode(search: $search, showPopover: $showPopover)
|
||||
.environmentObject(locations)
|
||||
.environmentObject(appState)
|
||||
.environmentObject(locations)
|
||||
.environmentObject(fsm)
|
||||
.environmentObject(themeManager)
|
||||
.environmentObject(updater)
|
||||
.environmentObject(permissionManager)
|
||||
.preferredColorScheme(themeManager.displayMode.colorScheme)
|
||||
}) {
|
||||
resizeWindowAuto(windowSettings: windowSettings, title: "Pearcleaner")
|
||||
@@ -532,16 +367,10 @@ struct InterfaceSettingsTab: View {
|
||||
Picker("", selection: $selectedMenubarIcon) {
|
||||
ForEach(icons, id: \.self) { icon in
|
||||
HStack {
|
||||
if icon.contains("pear") {
|
||||
Image(icon)
|
||||
.resizable()
|
||||
.scaledToFit()
|
||||
} else {
|
||||
Image(systemName: icon)
|
||||
.resizable()
|
||||
.scaledToFit()
|
||||
}
|
||||
}
|
||||
.tag(icon)
|
||||
|
||||
}
|
||||
@@ -556,12 +385,11 @@ struct InterfaceSettingsTab: View {
|
||||
.padding(5)
|
||||
.padding(.leading)
|
||||
|
||||
// Spacer()
|
||||
}
|
||||
Spacer()
|
||||
|
||||
}
|
||||
.padding(20)
|
||||
.frame(width: 500)//, height: themesEnabled ? 600 : 580)
|
||||
.frame(width: 500, height: 540)
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -32,12 +32,14 @@ struct SettingsView: View {
|
||||
Label(CurrentTabView.interface.title, systemImage: "macwindow")
|
||||
}
|
||||
.tag(CurrentTabView.interface)
|
||||
.environmentObject(themeManager)
|
||||
|
||||
FolderSettingsTab()
|
||||
.tabItem {
|
||||
Label(CurrentTabView.folders.title, systemImage: "folder")
|
||||
}
|
||||
.tag(CurrentTabView.folders)
|
||||
.environmentObject(themeManager)
|
||||
|
||||
UpdateSettingsTab()
|
||||
.tabItem {
|
||||
|
||||
@@ -13,6 +13,7 @@ import AlinFoundation
|
||||
struct TipsSettingsTab: View {
|
||||
@EnvironmentObject var appState: AppState
|
||||
@EnvironmentObject var themeManager: ThemeManager
|
||||
@AppStorage("settings.general.glass") private var glass: Bool = false
|
||||
|
||||
var body: some View {
|
||||
VStack {
|
||||
@@ -40,14 +41,15 @@ struct TipsSettingsTab: View {
|
||||
.scrollIndicators(.visible)
|
||||
.frame(height: 500)
|
||||
.frame(maxWidth: .infinity)
|
||||
.background(backgroundView(themeManager: themeManager, darker: true))
|
||||
.background(backgroundView(themeManager: themeManager, darker: true, glass: glass))
|
||||
.clipShape(RoundedRectangle(cornerRadius: 8))
|
||||
.padding(.bottom)
|
||||
|
||||
Spacer()
|
||||
|
||||
}
|
||||
.padding(20)
|
||||
.frame(width: 500)
|
||||
.frame(width: 500, height: 550)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@ struct UpdateSettingsTab: View {
|
||||
@EnvironmentObject var appState: AppState
|
||||
@EnvironmentObject var themeManager: ThemeManager
|
||||
@EnvironmentObject var updater: Updater
|
||||
@AppStorage("settings.general.glass") private var glass: Bool = false
|
||||
|
||||
var body: some View {
|
||||
VStack {
|
||||
@@ -25,7 +26,8 @@ struct UpdateSettingsTab: View {
|
||||
ReleasesView(updater: updater)
|
||||
.frame(height: 400)
|
||||
.frame(maxWidth: .infinity)
|
||||
.backgroundAF(opacity: 0.5)
|
||||
.background(backgroundView(themeManager: themeManager, darker: true, glass: glass))
|
||||
.clipShape(RoundedRectangle(cornerRadius: 8))
|
||||
|
||||
|
||||
HStack(alignment: .center, spacing: 20) {
|
||||
@@ -48,11 +50,14 @@ struct UpdateSettingsTab: View {
|
||||
.buttonStyle(SimpleButtonStyle(icon: "link", label: "Releases", help: "View releases on GitHub"))
|
||||
|
||||
}
|
||||
.padding()
|
||||
.padding(.top, 5)
|
||||
|
||||
Spacer()
|
||||
|
||||
}
|
||||
.padding(20)
|
||||
.frame(width: 500)
|
||||
.frame(width: 500, height: 540)
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -192,11 +192,11 @@ struct SimpleSearchStyle: TextFieldStyle {
|
||||
func _body(configuration: TextField<Self._Label>) -> some View {
|
||||
|
||||
ZStack {
|
||||
RoundedRectangle(cornerRadius: 8)
|
||||
.fill(darker ? themeManager.pickerColor.adjustBrightness(5) : themeManager.pickerColor)
|
||||
.allowsHitTesting(false)
|
||||
.frame(height: 30)
|
||||
.opacity((glass && (sidebar || !mini && !menubarEnabled)) || mini || menubarEnabled ? 0.0 : 1.0)
|
||||
// RoundedRectangle(cornerRadius: 8)
|
||||
// .fill(darker ? themeManager.pickerColor.adjustBrightness(5) : themeManager.pickerColor)
|
||||
// .allowsHitTesting(false)
|
||||
// .frame(height: 30)
|
||||
// .opacity((glass && (sidebar || !mini && !menubarEnabled)) || mini || menubarEnabled ? 0.0 : 1.0)
|
||||
|
||||
|
||||
ZStack {
|
||||
|
||||
@@ -12,7 +12,6 @@ class MenuBarExtraManager {
|
||||
static let shared = MenuBarExtraManager()
|
||||
private var statusItem: NSStatusItem?
|
||||
private var popover = NSPopover()
|
||||
// Store the last view and icon for restart
|
||||
private var lastView: (() -> AnyView)?
|
||||
private var lastIcon: String?
|
||||
|
||||
@@ -28,12 +27,7 @@ class MenuBarExtraManager {
|
||||
|
||||
// Set up the status item's button
|
||||
if let button = statusItem?.button{
|
||||
if NSImage(systemSymbolName: icon, accessibilityDescription: nil) != nil {
|
||||
button.image = NSImage(systemSymbolName: icon, accessibilityDescription: "Pearcleaner")
|
||||
} else {
|
||||
button.image = NSImage(named: icon)
|
||||
|
||||
}
|
||||
button.action = #selector(togglePopover(_:))
|
||||
button.target = self
|
||||
button.sendAction(on: [.leftMouseDown, .rightMouseDown])
|
||||
|
||||
Reference in New Issue
Block a user