Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/ios.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarino Faggiana <ios@nextcloud.com>2022-08-31 09:22:49 +0300
committerGitHub <noreply@github.com>2022-08-31 09:22:49 +0300
commit36b6f84ba22e15bc777b016d3d2449eaaa146cb8 (patch)
tree0bcddb2ab93180612bf8191fdc82d79888d500f3
parent632c6214a5941bf65e835e495048f2fbd717a9a3 (diff)
parent9a7906a98bff52f7467d470b01afbf172ea07fd0 (diff)
Merge pull request #2142 from nextcloud/develop4.4.3
V 4.4.3
-rw-r--r--Nextcloud.xcodeproj/project.pbxproj6
-rw-r--r--iOSClient/AppDelegate.swift4
-rw-r--r--iOSClient/Files/NCFiles.swift7
-rw-r--r--iOSClient/Main/Collection Common/NCCollectionViewCommon.swift55
-rw-r--r--iOSClient/Main/Section Header Footer/NCSectionHeaderFooter.swift6
-rw-r--r--iOSClient/Main/Section Header Footer/NCSectionHeaderMenu.xib62
-rw-r--r--iOSClient/Networking/NCService.swift1
-rw-r--r--iOSClient/Supporting Files/da.lproj/Localizable.stringsbin111828 -> 111830 bytes
-rw-r--r--iOSClient/Supporting Files/de.lproj/Localizable.stringsbin121602 -> 121604 bytes
-rw-r--r--iOSClient/Supporting Files/hu.lproj/Localizable.stringsbin117032 -> 117034 bytes
-rw-r--r--iOSClient/Supporting Files/sv.lproj/Localizable.stringsbin113022 -> 113086 bytes
-rw-r--r--iOSClient/Supporting Files/tr.lproj/InfoPlist.stringsbin1942 -> 1964 bytes
-rw-r--r--iOSClient/Supporting Files/tr.lproj/Localizable.stringsbin115556 -> 115612 bytes
-rw-r--r--iOSClient/Viewer/NCViewerMedia/NCPlayer/NCPlayerToolBar.swift12
14 files changed, 74 insertions, 79 deletions
diff --git a/Nextcloud.xcodeproj/project.pbxproj b/Nextcloud.xcodeproj/project.pbxproj
index 705c6372d..9a38a557c 100644
--- a/Nextcloud.xcodeproj/project.pbxproj
+++ b/Nextcloud.xcodeproj/project.pbxproj
@@ -3030,7 +3030,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
- MARKETING_VERSION = 4.4.2;
+ MARKETING_VERSION = 4.4.3;
ONLY_ACTIVE_ARCH = YES;
OTHER_LDFLAGS = "";
SDKROOT = iphoneos;
@@ -3091,7 +3091,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
- MARKETING_VERSION = 4.4.2;
+ MARKETING_VERSION = 4.4.3;
ONLY_ACTIVE_ARCH = YES;
OTHER_LDFLAGS = "";
SDKROOT = iphoneos;
@@ -3281,7 +3281,7 @@
repositoryURL = "https://github.com/nextcloud/ios-communication-library/";
requirement = {
kind = exactVersion;
- version = 0.99.8;
+ version = 0.99.9;
};
};
F788ECC5263AAAF900ADC67F /* XCRemoteSwiftPackageReference "MarkdownKit" */ = {
diff --git a/iOSClient/AppDelegate.swift b/iOSClient/AppDelegate.swift
index 344dbd835..38c653f45 100644
--- a/iOSClient/AppDelegate.swift
+++ b/iOSClient/AppDelegate.swift
@@ -48,6 +48,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD
@objc var activeViewController: UIViewController?
var mainTabBar: NCMainTabBar?
var activeMetadata: tableMetadata?
+ var isSearchingMode: Bool = false
let listFilesVC = ThreadSafeDictionary<String,NCFiles>()
let listFavoriteVC = ThreadSafeDictionary<String,NCFavorite>()
@@ -617,7 +618,6 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD
_ = NCFunctionCenter.shared
NCCommunicationCommon.shared.setup(account: account, user: user, userId: userId, password: password, urlBase: urlBase)
- NCCommunicationCommon.shared.setup(webDav: NCUtilityFileSystem.shared.getWebDAV(account: account))
let serverVersionMajor = NCManageDatabase.shared.getCapabilitiesServerInt(account: account, elements: NCElementsJSON.shared.capabilitiesVersionMajor)
if serverVersionMajor > 0 {
NCCommunicationCommon.shared.setup(nextcloudVersion: serverVersionMajor)
@@ -825,7 +825,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD
if scheme == "nextcloud" && action == "open-file" {
- if let urlComponents = URLComponents(url: url, resolvingAgainstBaseURL: false) {
+ if !isSearchingMode, let urlComponents = URLComponents(url: url, resolvingAgainstBaseURL: false) {
let queryItems = urlComponents.queryItems
guard let userScheme = CCUtility.value(forKey: "user", fromQueryItems: queryItems) else { return false }
diff --git a/iOSClient/Files/NCFiles.swift b/iOSClient/Files/NCFiles.swift
index 07cfab334..296ef3a87 100644
--- a/iOSClient/Files/NCFiles.swift
+++ b/iOSClient/Files/NCFiles.swift
@@ -88,7 +88,7 @@ class NCFiles: NCCollectionViewCommon {
DispatchQueue.main.async { self.refreshControl.endRefreshing() }
DispatchQueue.global().async {
- guard !self.isSearching, !self.appDelegate.account.isEmpty, !self.appDelegate.urlBase.isEmpty, !self.serverUrl.isEmpty else { return }
+ guard !self.appDelegate.isSearchingMode, !self.appDelegate.account.isEmpty, !self.appDelegate.urlBase.isEmpty, !self.serverUrl.isEmpty else { return }
let metadatas = NCManageDatabase.shared.getMetadatas(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@", self.appDelegate.account, self.serverUrl))
if self.metadataFolder == nil {
@@ -126,8 +126,9 @@ class NCFiles: NCCollectionViewCommon {
}
}
- override func reloadDataSourceNetwork(forced: Bool = false) { super.reloadDataSourceNetwork(forced: forced)
- guard !isSearching else {
+ override func reloadDataSourceNetwork(forced: Bool = false) {
+ super.reloadDataSourceNetwork(forced: forced)
+ guard !appDelegate.isSearchingMode else {
networkSearch()
return
}
diff --git a/iOSClient/Main/Collection Common/NCCollectionViewCommon.swift b/iOSClient/Main/Collection Common/NCCollectionViewCommon.swift
index c50280270..d4e593689 100644
--- a/iOSClient/Main/Collection Common/NCCollectionViewCommon.swift
+++ b/iOSClient/Main/Collection Common/NCCollectionViewCommon.swift
@@ -59,7 +59,6 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
internal var gridLayout: NCGridLayout!
internal var literalSearch: String?
- internal var isSearching: Bool = false
internal var isReloadDataSourceNetworkInProgress: Bool = false
@@ -173,6 +172,7 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
collectionView?.collectionViewLayout = gridLayout
}
+ NotificationCenter.default.addObserver(self, selector: #selector(applicationWillResignActive(_:)), name: NSNotification.Name(rawValue: NCGlobal.shared.notificationCenterApplicationWillResignActive), object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(closeRichWorkspaceWebView), name: NSNotification.Name(rawValue: NCGlobal.shared.notificationCenterCloseRichWorkspaceWebView), object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(changeStatusFolderE2EE(_:)), name: NSNotification.Name(rawValue: NCGlobal.shared.notificationCenterChangeStatusFolderE2EE), object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(setNavigationItem), name: NSNotification.Name(rawValue: NCGlobal.shared.notificationCenterReloadAvatar), object: nil)
@@ -209,7 +209,7 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
setNavigationItem()
reloadDataSource(forced: false)
- if !isSearching {
+ if !appDelegate.isSearchingMode {
reloadDataSourceNetwork()
}
}
@@ -228,6 +228,7 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
+ NotificationCenter.default.removeObserver(self, name: NSNotification.Name(rawValue: NCGlobal.shared.notificationCenterApplicationWillResignActive), object: nil)
NotificationCenter.default.removeObserver(self, name: NSNotification.Name(rawValue: NCGlobal.shared.notificationCenterCloseRichWorkspaceWebView), object: nil)
NotificationCenter.default.removeObserver(self, name: NSNotification.Name(rawValue: NCGlobal.shared.notificationCenterChangeStatusFolderE2EE), object: nil)
NotificationCenter.default.removeObserver(self, name: NSNotification.Name(rawValue: NCGlobal.shared.notificationCenterReloadAvatar), object: nil)
@@ -278,9 +279,9 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
guard !appDelegate.account.isEmpty else { return }
// Search
- if searchController?.isActive ?? false || isSearching {
+ if searchController?.isActive ?? false || appDelegate.isSearchingMode {
searchController?.isActive = false
- isSearching = false
+ appDelegate.isSearchingMode = false
}
// Select
@@ -316,6 +317,10 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
setNavigationItem()
}
+ @objc func applicationWillResignActive(_ notification: NSNotification) {
+ self.refreshControl.endRefreshing()
+ }
+
@objc func changeTheming() {
collectionView.reloadData()
}
@@ -326,7 +331,7 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
@objc func reloadDataSourceNetworkForced(_ notification: NSNotification) {
- if !isSearching {
+ if !appDelegate.isSearchingMode {
reloadDataSourceNetwork(forced: true)
}
}
@@ -409,7 +414,7 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
@objc func renameFile(_ notification: NSNotification) {
- if isSearching {
+ if appDelegate.isSearchingMode {
reloadDataSourceNetwork()
} else {
reloadDataSource()
@@ -524,7 +529,7 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
account == appDelegate.account
else { return }
- guard let metadata = NCManageDatabase.shared.getMetadataFromOcId(ocId) else { return }
+ guard !appDelegate.isSearchingMode, let metadata = NCManageDatabase.shared.getMetadataFromOcId(ocId) else { return }
dataSource.addMetadata(metadata)
self.collectionView?.reloadData()
}
@@ -704,7 +709,7 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
func emptyDataSetView(_ view: NCEmptyView) {
self.emptyDataSet?.setOffset(getHeaderHeight())
- if isSearching {
+ if appDelegate.isSearchingMode {
view.emptyImage.image = UIImage(named: "search")?.image(color: .gray, size: UIScreen.main.bounds.width)
if isReloadDataSourceNetworkInProgress {
view.emptyTitle.text = NSLocalizedString("_search_in_progress_", comment: "")
@@ -737,7 +742,7 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
func searchBarTextDidBeginEditing(_ searchBar: UISearchBar) {
- self.isSearching = true
+ appDelegate.isSearchingMode = true
self.providers?.removeAll()
self.dataSource.clearDataSource()
self.collectionView.reloadData()
@@ -748,7 +753,7 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
func searchBarTextDidEndEditing(_ searchBar: UISearchBar) {
- if self.isSearching && self.literalSearch?.count ?? 0 >= 2 {
+ if appDelegate.isSearchingMode && self.literalSearch?.count ?? 0 >= 2 {
reloadDataSourceNetwork()
}
}
@@ -758,7 +763,7 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
DispatchQueue.global().async {
NCNetworking.shared.cancelUnifiedSearchFiles()
- self.isSearching = false
+ self.appDelegate.isSearchingMode = false
self.literalSearch = ""
self.providers?.removeAll()
self.dataSource.clearDataSource()
@@ -810,7 +815,7 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
headerMenu?.buttonSwitch.accessibilityLabel = NSLocalizedString("_list_view_", comment: "")
layoutForView?.layout = NCGlobal.shared.layoutGrid
NCUtility.shared.setLayoutForView(key: layoutKey, serverUrl: serverUrl, layout: layoutForView?.layout)
- if self.isSearching {
+ if appDelegate.isSearchingMode {
self.groupByField = "name"
} else {
self.groupByField = "classFile"
@@ -984,7 +989,7 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
layoutForView = NCUtility.shared.getLayoutForView(key: layoutKey, serverUrl: serverUrl)
// set GroupField for Grid
- if !self.isSearching && layoutForView?.layout == NCGlobal.shared.layoutGrid {
+ if !appDelegate.isSearchingMode && layoutForView?.layout == NCGlobal.shared.layoutGrid {
groupByField = "classFile"
} else {
groupByField = "name"
@@ -1021,7 +1026,7 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
providers: self.providers,
searchResults: self.searchResults)
} update: { id, searchResult, metadatas in
- guard let metadatas = metadatas, metadatas.count > 0, self.isSearching , let searchResult = searchResult else { return }
+ guard let metadatas = metadatas, metadatas.count > 0, self.appDelegate.isSearchingMode , let searchResult = searchResult else { return }
NCOperationQueue.shared.unifiedSearchAddSection(collectionViewCommon: self, metadatas: metadatas, searchResult: searchResult)
} completion: {errorCode, errorDescription in
self.refreshControl.endRefreshing()
@@ -1034,7 +1039,7 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
self.refreshControl.endRefreshing()
self.collectionView.reloadData()
}
- guard let metadatas = metadatas, errorCode == 0, self.isSearching else { return }
+ guard let metadatas = metadatas, errorCode == 0, self.appDelegate.isSearchingMode else { return }
self.dataSource = NCDataSource(
metadatas: metadatas,
account: self.appDelegate.account,
@@ -1482,7 +1487,7 @@ extension NCCollectionViewCommon: UICollectionViewDataSource {
cell.hideButtonMore(false)
cell.titleInfoTrailingDefault()
- if isSearching {
+ if appDelegate.isSearchingMode {
cell.fileTitleLabel?.text = metadata.fileName
cell.fileTitleLabel?.lineBreakMode = .byTruncatingTail
if metadata.name == NCGlobal.shared.appName {
@@ -1636,7 +1641,7 @@ extension NCCollectionViewCommon: UICollectionViewDataSource {
}
// Separator
- if collectionView.numberOfItems(inSection: indexPath.section) == indexPath.row + 1 || isSearching {
+ if collectionView.numberOfItems(inSection: indexPath.section) == indexPath.row + 1 || appDelegate.isSearchingMode {
cell.cellSeparatorView?.isHidden = true
} else {
cell.cellSeparatorView?.isHidden = false
@@ -1659,7 +1664,7 @@ extension NCCollectionViewCommon: UICollectionViewDataSource {
cell.setAccessibility(label: metadata.fileNameView + ", " + (cell.fileInfoLabel?.text ?? ""), value: a11yValues.joined(separator: ", "))
// Color string find in search
- if isSearching, let literalSearch = self.literalSearch, let title = cell.fileTitleLabel?.text {
+ if appDelegate.isSearchingMode, let literalSearch = self.literalSearch, let title = cell.fileTitleLabel?.text {
let longestWordRange = (title.lowercased() as NSString).range(of: literalSearch)
let attributedString = NSMutableAttributedString(string: title, attributes: [NSAttributedString.Key.font : UIFont.systemFont(ofSize: 15)])
attributedString.setAttributes([NSAttributedString.Key.font : UIFont.boldSystemFont(ofSize: 15), NSAttributedString.Key.foregroundColor : NCBrandColor.shared.annotationColor], range: longestWordRange)
@@ -1688,7 +1693,7 @@ extension NCCollectionViewCommon: UICollectionViewDataSource {
}
header.delegate = self
- if headerMenuButtonsCommand && !isSearching {
+ if headerMenuButtonsCommand && !appDelegate.isSearchingMode {
header.setButtonsCommand(heigt: NCGlobal.shared.heightButtonsCommand, imageButton1: UIImage(named: "buttonAddImage"), titleButton1: NSLocalizedString("_upload_", comment: ""), imageButton2: UIImage(named: "buttonAddFolder"), titleButton2: NSLocalizedString("_folder_", comment: ""), imageButton3: UIImage(named: "buttonAddScan"), titleButton3: NSLocalizedString("_scan_", comment: ""))
} else {
header.setButtonsCommand(heigt: 0)
@@ -1743,11 +1748,11 @@ extension NCCollectionViewCommon: UICollectionViewDataSource {
footer.buttonIsHidden(true)
footer.hideActivityIndicatorSection()
- if isSearching {
+ if appDelegate.isSearchingMode {
if sections > 1 && section != sections - 1 {
footer.separatorIsHidden(false)
}
- if isSearching && isPaginated && metadatasCount > 0 {
+ if appDelegate.isSearchingMode && isPaginated && metadatasCount > 0 {
footer.buttonIsHidden(false)
}
if unifiedSearchInProgress {
@@ -1773,7 +1778,7 @@ extension NCCollectionViewCommon: UICollectionViewDelegateFlowLayout {
var size: CGFloat = 0
- if headerMenuButtonsCommand && !isSearching {
+ if headerMenuButtonsCommand && !appDelegate.isSearchingMode {
size += NCGlobal.shared.heightButtonsCommand
}
if headerMenuButtonsView {
@@ -1789,12 +1794,12 @@ extension NCCollectionViewCommon: UICollectionViewDelegateFlowLayout {
if let richWorkspaceText = richWorkspaceText, !headerRichWorkspaceDisable {
let trimmed = richWorkspaceText.trimmingCharacters(in: .whitespaces)
- if trimmed.count > 0 && !isSearching {
+ if trimmed.count > 0 && !appDelegate.isSearchingMode {
headerRichWorkspace = UIScreen.main.bounds.size.height / 6
}
}
- if isSearching || layoutForView?.layout == NCGlobal.shared.layoutGrid || dataSource.numberOfSections() > 1 {
+ if appDelegate.isSearchingMode || layoutForView?.layout == NCGlobal.shared.layoutGrid || dataSource.numberOfSections() > 1 {
if section == 0 {
return (getHeaderHeight(), headerRichWorkspace, NCGlobal.shared.heightSection)
} else {
@@ -1827,7 +1832,7 @@ extension NCCollectionViewCommon: UICollectionViewDelegateFlowLayout {
size.height += NCGlobal.shared.heightFooter
}
- if isSearching && isPaginated && metadatasCount > 0 {
+ if appDelegate.isSearchingMode && isPaginated && metadatasCount > 0 {
size.height += NCGlobal.shared.heightFooterButton
}
diff --git a/iOSClient/Main/Section Header Footer/NCSectionHeaderFooter.swift b/iOSClient/Main/Section Header Footer/NCSectionHeaderFooter.swift
index c285aa357..4c7d592af 100644
--- a/iOSClient/Main/Section Header Footer/NCSectionHeaderFooter.swift
+++ b/iOSClient/Main/Section Header Footer/NCSectionHeaderFooter.swift
@@ -72,7 +72,7 @@ class NCSectionHeaderMenu: UICollectionReusableView, UIGestureRecognizerDelegate
button1.backgroundColor = .clear
button1.setTitleColor(.systemBlue, for: .normal)
button1.layer.borderColor = NCBrandColor.shared.systemGray1.cgColor
- button1.layer.borderWidth = 0.3
+ button1.layer.borderWidth = 0.4
button1.layer.cornerRadius = 3
button2.setImage(nil, for: .normal)
@@ -80,7 +80,7 @@ class NCSectionHeaderMenu: UICollectionReusableView, UIGestureRecognizerDelegate
button2.backgroundColor = .clear
button2.setTitleColor(.systemBlue, for: .normal)
button2.layer.borderColor = NCBrandColor.shared.systemGray1.cgColor
- button2.layer.borderWidth = 0.3
+ button2.layer.borderWidth = 0.4
button2.layer.cornerRadius = 3
button3.setImage(nil, for: .normal)
@@ -88,7 +88,7 @@ class NCSectionHeaderMenu: UICollectionReusableView, UIGestureRecognizerDelegate
button3.backgroundColor = .clear
button3.setTitleColor(.systemBlue, for: .normal)
button3.layer.borderColor = NCBrandColor.shared.systemGray1.cgColor
- button3.layer.borderWidth = 0.3
+ button3.layer.borderWidth = 0.4
button3.layer.cornerRadius = 3
// Gradient
diff --git a/iOSClient/Main/Section Header Footer/NCSectionHeaderMenu.xib b/iOSClient/Main/Section Header Footer/NCSectionHeaderMenu.xib
index cecf77dfa..a73a0ec6b 100644
--- a/iOSClient/Main/Section Header Footer/NCSectionHeaderMenu.xib
+++ b/iOSClient/Main/Section Header Footer/NCSectionHeaderMenu.xib
@@ -12,16 +12,16 @@
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<collectionReusableView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" reuseIdentifier="sectionHeaderMenu" id="tys-A2-nDX" customClass="NCSectionHeaderMenu" customModule="Nextcloud" customModuleProvider="target">
- <rect key="frame" x="0.0" y="0.0" width="551" height="211"/>
+ <rect key="frame" x="0.0" y="0.0" width="574" height="211"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
- <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="4m9-yf-RbB">
- <rect key="frame" x="0.0" y="0.0" width="551" height="50"/>
+ <stackView opaque="NO" contentMode="scaleToFill" distribution="fillEqually" alignment="bottom" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="5Lz-Ux-j8Z">
+ <rect key="frame" x="10" y="0.0" width="554" height="50"/>
<subviews>
- <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Hie-dN-B9L">
- <rect key="frame" x="10" y="11" width="74" height="40"/>
+ <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="tailTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Hie-dN-B9L">
+ <rect key="frame" x="0.0" y="10" width="178" height="40"/>
<constraints>
- <constraint firstAttribute="height" constant="40" id="X1Q-Rt-PQI"/>
+ <constraint firstAttribute="height" constant="40" id="luF-yL-wde"/>
</constraints>
<fontDescription key="fontDescription" type="system" pointSize="13"/>
<inset key="contentEdgeInsets" minX="16" minY="0.0" maxX="8" maxY="0.0"/>
@@ -31,10 +31,10 @@
<action selector="touchUpInsideButton1:" destination="tys-A2-nDX" eventType="touchUpInside" id="n7r-8n-gT3"/>
</connections>
</button>
- <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="cjh-je-E6h">
- <rect key="frame" x="94" y="11" width="76" height="40"/>
+ <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="tailTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="cjh-je-E6h">
+ <rect key="frame" x="188" y="10" width="178" height="40"/>
<constraints>
- <constraint firstAttribute="height" constant="40" id="Zjv-nS-ufy"/>
+ <constraint firstAttribute="height" constant="40" id="Qbm-WY-vBX"/>
</constraints>
<fontDescription key="fontDescription" type="system" pointSize="13"/>
<inset key="contentEdgeInsets" minX="16" minY="0.0" maxX="8" maxY="0.0"/>
@@ -44,10 +44,10 @@
<action selector="touchUpInsideButton2:" destination="tys-A2-nDX" eventType="touchUpInside" id="hek-Xq-Lh2"/>
</connections>
</button>
- <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Zta-tv-COt">
- <rect key="frame" x="180" y="11" width="76" height="40"/>
+ <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="tailTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Zta-tv-COt">
+ <rect key="frame" x="376" y="10" width="178" height="40"/>
<constraints>
- <constraint firstAttribute="height" constant="40" id="Dm7-86-DVq"/>
+ <constraint firstAttribute="height" constant="40" id="DG7-Fz-W9H"/>
</constraints>
<fontDescription key="fontDescription" type="system" pointSize="13"/>
<inset key="contentEdgeInsets" minX="16" minY="0.0" maxX="8" maxY="0.0"/>
@@ -59,17 +59,11 @@
</button>
</subviews>
<constraints>
- <constraint firstItem="cjh-je-E6h" firstAttribute="leading" secondItem="Hie-dN-B9L" secondAttribute="trailing" constant="10" id="5aP-yP-Qrg"/>
- <constraint firstItem="Hie-dN-B9L" firstAttribute="top" secondItem="4m9-yf-RbB" secondAttribute="top" constant="11" id="6dq-TK-VJe"/>
- <constraint firstItem="Zta-tv-COt" firstAttribute="leading" secondItem="cjh-je-E6h" secondAttribute="trailing" constant="10" id="6hB-av-smB"/>
- <constraint firstItem="Zta-tv-COt" firstAttribute="centerY" secondItem="cjh-je-E6h" secondAttribute="centerY" id="Fcu-ai-2K5"/>
- <constraint firstItem="Hie-dN-B9L" firstAttribute="leading" secondItem="4m9-yf-RbB" secondAttribute="leading" constant="10" id="GNB-In-2UC"/>
- <constraint firstItem="cjh-je-E6h" firstAttribute="centerY" secondItem="Hie-dN-B9L" secondAttribute="centerY" id="Wan-Qr-mdA"/>
- <constraint firstAttribute="height" constant="50" id="aJx-Rv-Dc0"/>
+ <constraint firstAttribute="height" constant="50" id="d8V-tN-fUz"/>
</constraints>
- </view>
+ </stackView>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="s4I-Jo-yCE">
- <rect key="frame" x="0.0" y="50" width="551" height="50"/>
+ <rect key="frame" x="0.0" y="50" width="574" height="50"/>
<subviews>
<button opaque="NO" contentMode="scaleAspectFit" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="1LD-cd-zhc">
<rect key="frame" x="10" y="12.5" width="25" height="25"/>
@@ -93,7 +87,7 @@
</connections>
</button>
<button hidden="YES" opaque="NO" contentMode="scaleAspectFit" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="D0O-wK-14O">
- <rect key="frame" x="516" y="12.5" width="25" height="25"/>
+ <rect key="frame" x="539" y="12.5" width="25" height="25"/>
<constraints>
<constraint firstAttribute="width" constant="25" id="aEr-j8-JDO"/>
<constraint firstAttribute="height" constant="25" id="bvx-Uh-NWD"/>
@@ -115,7 +109,7 @@
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="LZu-Te-clJ">
- <rect key="frame" x="0.0" y="99" width="551" height="1"/>
+ <rect key="frame" x="0.0" y="99" width="574" height="1"/>
<color key="backgroundColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<color key="tintColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
@@ -123,10 +117,10 @@
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="NC1-5C-E5z" userLabel="View RichWorkspace">
- <rect key="frame" x="0.0" y="141" width="551" height="50"/>
+ <rect key="frame" x="0.0" y="141" width="574" height="50"/>
<subviews>
<textView clipsSubviews="YES" multipleTouchEnabled="YES" userInteractionEnabled="NO" contentMode="scaleToFill" editable="NO" textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="pYo-pF-MGv">
- <rect key="frame" x="5" y="0.0" width="541" height="50"/>
+ <rect key="frame" x="5" y="0.0" width="564" height="50"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<color key="textColor" systemColor="labelColor"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
@@ -142,10 +136,10 @@
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="f9U-NY-4OS">
- <rect key="frame" x="0.0" y="191" width="551" height="20"/>
+ <rect key="frame" x="0.0" y="191" width="574" height="20"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="mB5-5n-AL9">
- <rect key="frame" x="10" y="2" width="531" height="18"/>
+ <rect key="frame" x="10" y="2" width="554" height="18"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
@@ -162,19 +156,19 @@
<viewLayoutGuide key="safeArea" id="pm7-uW-mZE"/>
<constraints>
<constraint firstItem="f9U-NY-4OS" firstAttribute="leading" secondItem="pm7-uW-mZE" secondAttribute="leading" id="7kv-IL-kwZ"/>
+ <constraint firstItem="s4I-Jo-yCE" firstAttribute="top" secondItem="5Lz-Ux-j8Z" secondAttribute="bottom" id="Bsp-bF-E1f"/>
<constraint firstItem="s4I-Jo-yCE" firstAttribute="leading" secondItem="pm7-uW-mZE" secondAttribute="leading" id="CaM-Eb-nHq"/>
<constraint firstItem="LZu-Te-clJ" firstAttribute="leading" secondItem="pm7-uW-mZE" secondAttribute="leading" id="CyS-jg-0vc"/>
<constraint firstItem="pm7-uW-mZE" firstAttribute="trailing" secondItem="f9U-NY-4OS" secondAttribute="trailing" id="GbG-un-mCe"/>
+ <constraint firstItem="5Lz-Ux-j8Z" firstAttribute="leading" secondItem="pm7-uW-mZE" secondAttribute="leading" constant="10" id="Mlm-5i-CrU"/>
<constraint firstItem="pm7-uW-mZE" firstAttribute="trailing" secondItem="LZu-Te-clJ" secondAttribute="trailing" id="NiW-2m-3HS"/>
<constraint firstItem="NC1-5C-E5z" firstAttribute="leading" secondItem="pm7-uW-mZE" secondAttribute="leading" id="QpF-nE-s7J"/>
- <constraint firstItem="s4I-Jo-yCE" firstAttribute="top" secondItem="4m9-yf-RbB" secondAttribute="bottom" id="TpE-MD-W1E"/>
+ <constraint firstItem="pm7-uW-mZE" firstAttribute="trailing" secondItem="5Lz-Ux-j8Z" secondAttribute="trailing" constant="10" id="Rsh-4o-ndc"/>
<constraint firstItem="pm7-uW-mZE" firstAttribute="trailing" secondItem="NC1-5C-E5z" secondAttribute="trailing" id="UH6-8N-JUD"/>
- <constraint firstItem="4m9-yf-RbB" firstAttribute="leading" secondItem="pm7-uW-mZE" secondAttribute="leading" id="VkE-Yd-ZEU"/>
- <constraint firstItem="pm7-uW-mZE" firstAttribute="trailing" secondItem="4m9-yf-RbB" secondAttribute="trailing" id="cQo-N7-86S"/>
<constraint firstItem="LZu-Te-clJ" firstAttribute="top" secondItem="s4I-Jo-yCE" secondAttribute="bottom" constant="-1" id="ede-24-v8F"/>
<constraint firstItem="pm7-uW-mZE" firstAttribute="bottom" secondItem="f9U-NY-4OS" secondAttribute="bottom" id="eyu-CE-rTX"/>
<constraint firstItem="pm7-uW-mZE" firstAttribute="trailing" secondItem="s4I-Jo-yCE" secondAttribute="trailing" id="oCg-UW-8TQ"/>
- <constraint firstItem="4m9-yf-RbB" firstAttribute="top" secondItem="pm7-uW-mZE" secondAttribute="top" id="oKs-0n-Lan"/>
+ <constraint firstItem="5Lz-Ux-j8Z" firstAttribute="top" secondItem="pm7-uW-mZE" secondAttribute="top" id="os0-Gk-1V7"/>
<constraint firstItem="NC1-5C-E5z" firstAttribute="bottom" secondItem="f9U-NY-4OS" secondAttribute="top" id="pmY-5s-Pv2"/>
</constraints>
<connections>
@@ -186,8 +180,8 @@
<outlet property="buttonSwitch" destination="1LD-cd-zhc" id="Ec2-cM-CoY"/>
<outlet property="labelSection" destination="mB5-5n-AL9" id="uxf-bN-nZA"/>
<outlet property="textViewRichWorkspace" destination="pYo-pF-MGv" id="2h4-LP-T1z"/>
- <outlet property="viewButtonsCommand" destination="4m9-yf-RbB" id="d1a-Pc-ujo"/>
- <outlet property="viewButtonsCommandHeightConstraint" destination="aJx-Rv-Dc0" id="58a-bd-5ri"/>
+ <outlet property="viewButtonsCommand" destination="5Lz-Ux-j8Z" id="USK-Qe-J1d"/>
+ <outlet property="viewButtonsCommandHeightConstraint" destination="d8V-tN-fUz" id="sFt-OL-Fei"/>
<outlet property="viewButtonsView" destination="s4I-Jo-yCE" id="FOI-ZK-1oj"/>
<outlet property="viewButtonsViewHeightConstraint" destination="vvG-dH-6c1" id="SEQ-Tn-EE0"/>
<outlet property="viewRichWorkspace" destination="NC1-5C-E5z" id="NyN-tr-sJl"/>
@@ -197,7 +191,7 @@
<outlet property="viewSeparator" destination="LZu-Te-clJ" id="rz1-2Q-vEK"/>
<outlet property="viewSeparatorHeightConstraint" destination="VuP-sT-hUI" id="QHV-oY-E5w"/>
</connections>
- <point key="canvasLocation" x="349.60000000000002" y="55.322338830584712"/>
+ <point key="canvasLocation" x="368" y="55.322338830584712"/>
</collectionReusableView>
</objects>
<resources>
diff --git a/iOSClient/Networking/NCService.swift b/iOSClient/Networking/NCService.swift
index 1cabc8962..6fa223943 100644
--- a/iOSClient/Networking/NCService.swift
+++ b/iOSClient/Networking/NCService.swift
@@ -159,7 +159,6 @@ class NCService: NSObject {
if serverVersionMajor > 0 {
NCCommunicationCommon.shared.setup(nextcloudVersion: serverVersionMajor)
}
- NCCommunicationCommon.shared.setup(webDav: NCUtilityFileSystem.shared.getWebDAV(account: account))
// Theming
let themingColorNew = NCManageDatabase.shared.getCapabilitiesServerString(account: account, elements: NCElementsJSON.shared.capabilitiesThemingColor)
diff --git a/iOSClient/Supporting Files/da.lproj/Localizable.strings b/iOSClient/Supporting Files/da.lproj/Localizable.strings
index 066045454..b8bfff914 100644
--- a/iOSClient/Supporting Files/da.lproj/Localizable.strings
+++ b/iOSClient/Supporting Files/da.lproj/Localizable.strings
Binary files differ
diff --git a/iOSClient/Supporting Files/de.lproj/Localizable.strings b/iOSClient/Supporting Files/de.lproj/Localizable.strings
index debfa5a5a..53c6bc10a 100644
--- a/iOSClient/Supporting Files/de.lproj/Localizable.strings
+++ b/iOSClient/Supporting Files/de.lproj/Localizable.strings
Binary files differ
diff --git a/iOSClient/Supporting Files/hu.lproj/Localizable.strings b/iOSClient/Supporting Files/hu.lproj/Localizable.strings
index 398ed2aea..4f89ce455 100644
--- a/iOSClient/Supporting Files/hu.lproj/Localizable.strings
+++ b/iOSClient/Supporting Files/hu.lproj/Localizable.strings
Binary files differ
diff --git a/iOSClient/Supporting Files/sv.lproj/Localizable.strings b/iOSClient/Supporting Files/sv.lproj/Localizable.strings
index 549aaaf15..600e64cd0 100644
--- a/iOSClient/Supporting Files/sv.lproj/Localizable.strings
+++ b/iOSClient/Supporting Files/sv.lproj/Localizable.strings
Binary files differ
diff --git a/iOSClient/Supporting Files/tr.lproj/InfoPlist.strings b/iOSClient/Supporting Files/tr.lproj/InfoPlist.strings
index 3d6e79102..557c68616 100644
--- a/iOSClient/Supporting Files/tr.lproj/InfoPlist.strings
+++ b/iOSClient/Supporting Files/tr.lproj/InfoPlist.strings
Binary files differ
diff --git a/iOSClient/Supporting Files/tr.lproj/Localizable.strings b/iOSClient/Supporting Files/tr.lproj/Localizable.strings
index e52b1705a..8710d9dd1 100644
--- a/iOSClient/Supporting Files/tr.lproj/Localizable.strings
+++ b/iOSClient/Supporting Files/tr.lproj/Localizable.strings
Binary files differ
diff --git a/iOSClient/Viewer/NCViewerMedia/NCPlayer/NCPlayerToolBar.swift b/iOSClient/Viewer/NCViewerMedia/NCPlayer/NCPlayerToolBar.swift
index 9dcbe70ac..b266024f4 100644
--- a/iOSClient/Viewer/NCViewerMedia/NCPlayer/NCPlayerToolBar.swift
+++ b/iOSClient/Viewer/NCViewerMedia/NCPlayer/NCPlayerToolBar.swift
@@ -238,20 +238,16 @@ class NCPlayerToolBar: UIView {
let session = AVAudioSession.sharedInstance()
for output in session.currentRoute.outputs where output.portType == AVAudioSession.Port.headphones {
print("headphones connected")
- DispatchQueue.main.sync {
- ncplayer?.playerPlay()
- startTimerAutoHide()
- }
+ ncplayer?.playerPlay()
+ startTimerAutoHide()
break
}
case .oldDeviceUnavailable:
if let previousRoute = userInfo[AVAudioSessionRouteChangePreviousRouteKey] as? AVAudioSessionRouteDescription {
for output in previousRoute.outputs where output.portType == AVAudioSession.Port.headphones {
print("headphones disconnected")
- DispatchQueue.main.sync {
- ncplayer?.playerPause()
- ncplayer?.saveCurrentTime()
- }
+ ncplayer?.playerPause()
+ ncplayer?.saveCurrentTime()
break
}
}