diff --git a/Localization/Localizations/Localizable.xcstrings b/Localization/Localizations/Localizable.xcstrings
index b20306b..d6d20c4 100644
--- a/Localization/Localizations/Localizable.xcstrings
+++ b/Localization/Localizations/Localizable.xcstrings
@@ -1328,6 +1328,9 @@
}
}
}
+ },
+ "Are you sure you want to resume current tasks?" : {
+
},
"Availability" : {
"localizations" : {
@@ -1932,6 +1935,9 @@
}
}
}
+ },
+ "Confirm Resume Current" : {
+
},
"Connected Leeches" : {
"localizations" : {
@@ -6145,6 +6151,9 @@
}
}
}
+ },
+ "Resume Current Tasks" : {
+
},
"Resume Task" : {
"localizations" : {
diff --git a/qBitControl.xcodeproj/project.pbxproj b/qBitControl.xcodeproj/project.pbxproj
index 44af08a..f0866e3 100644
--- a/qBitControl.xcodeproj/project.pbxproj
+++ b/qBitControl.xcodeproj/project.pbxproj
@@ -875,6 +875,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_ENTITLEMENTS = qBitControl/qBitControl.entitlements;
+ "CODE_SIGN_IDENTITY[sdk=macosx*]" = "-";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 18;
DEVELOPMENT_ASSET_PATHS = "";
diff --git a/qBitControl.xcworkspace/contents.xcworkspacedata b/qBitControl.xcworkspace/contents.xcworkspacedata
deleted file mode 100644
index 0b6c81c..0000000
--- a/qBitControl.xcworkspace/contents.xcworkspacedata
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
diff --git a/qBitControl.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/qBitControl.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
deleted file mode 100644
index 18d9810..0000000
--- a/qBitControl.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- IDEDidComputeMac32BitWarning
-
-
-
diff --git a/qBitControl/Models/AlertIdentifier.swift b/qBitControl/Models/AlertIdentifier.swift
index b2acc6f..0f391f3 100644
--- a/qBitControl/Models/AlertIdentifier.swift
+++ b/qBitControl/Models/AlertIdentifier.swift
@@ -5,8 +5,8 @@ import Foundation
struct AlertIdentifier: Identifiable {
enum Choice {
- case resumeAll, pauseAll
+ case resumeCurrent, resumeAll, pauseAll
}
var id: Choice
-}
\ No newline at end of file
+}
diff --git a/qBitControl/Toolbars/TorrentListToolbar/TorrentListDefaultToolbar.swift b/qBitControl/Toolbars/TorrentListToolbar/TorrentListDefaultToolbar.swift
index 24e23c1..7a98c39 100644
--- a/qBitControl/Toolbars/TorrentListToolbar/TorrentListDefaultToolbar.swift
+++ b/qBitControl/Toolbars/TorrentListToolbar/TorrentListDefaultToolbar.swift
@@ -38,6 +38,14 @@ struct TorrentListDefaultToolbar: ToolbarContent {
}
Section {
+ Button {
+ viewModel.alertIdentifier = AlertIdentifier(id: .resumeCurrent)
+ } label: {
+ Image(systemName: "play")
+ .rotationEffect(.degrees(180))
+ Text("Resume Current Tasks")
+ }
+
Button {
viewModel.alertIdentifier = AlertIdentifier(id: .resumeAll)
} label: {
@@ -77,6 +85,10 @@ struct TorrentListDefaultToolbar: ToolbarContent {
Image(systemName: "ellipsis.circle")
}.alert(item: $viewModel.alertIdentifier) { alert in
switch(alert.id) {
+ case .resumeCurrent:
+ return Alert(title: Text("Confirm Resume Current"), message: Text("Are you sure you want to resume current tasks?"), primaryButton: .default(Text("Resume")) {
+ qBittorrent.resumeTorrents(hashes: viewModel.filteredTorrents.map { $0.hash })
+ }, secondaryButton: .cancel())
case .resumeAll:
return Alert(title: Text("Confirm Resume All"), message: Text("Are you sure you want to resume all tasks?"), primaryButton: .default(Text("Resume")) {
qBittorrent.resumeAllTorrents()