diff options
author | Marino Faggiana <ios@nextcloud.com> | 2022-08-31 09:22:49 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-31 09:22:49 +0300 |
commit | 36b6f84ba22e15bc777b016d3d2449eaaa146cb8 (patch) | |
tree | 0bcddb2ab93180612bf8191fdc82d79888d500f3 | |
parent | 632c6214a5941bf65e835e495048f2fbd717a9a3 (diff) | |
parent | 9a7906a98bff52f7467d470b01afbf172ea07fd0 (diff) |
Merge pull request #2142 from nextcloud/develop4.4.3
V 4.4.3
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 Binary files differindex 066045454..b8bfff914 100644 --- a/iOSClient/Supporting Files/da.lproj/Localizable.strings +++ b/iOSClient/Supporting Files/da.lproj/Localizable.strings diff --git a/iOSClient/Supporting Files/de.lproj/Localizable.strings b/iOSClient/Supporting Files/de.lproj/Localizable.strings Binary files differindex debfa5a5a..53c6bc10a 100644 --- a/iOSClient/Supporting Files/de.lproj/Localizable.strings +++ b/iOSClient/Supporting Files/de.lproj/Localizable.strings diff --git a/iOSClient/Supporting Files/hu.lproj/Localizable.strings b/iOSClient/Supporting Files/hu.lproj/Localizable.strings Binary files differindex 398ed2aea..4f89ce455 100644 --- a/iOSClient/Supporting Files/hu.lproj/Localizable.strings +++ b/iOSClient/Supporting Files/hu.lproj/Localizable.strings diff --git a/iOSClient/Supporting Files/sv.lproj/Localizable.strings b/iOSClient/Supporting Files/sv.lproj/Localizable.strings Binary files differindex 549aaaf15..600e64cd0 100644 --- a/iOSClient/Supporting Files/sv.lproj/Localizable.strings +++ b/iOSClient/Supporting Files/sv.lproj/Localizable.strings diff --git a/iOSClient/Supporting Files/tr.lproj/InfoPlist.strings b/iOSClient/Supporting Files/tr.lproj/InfoPlist.strings Binary files differindex 3d6e79102..557c68616 100644 --- a/iOSClient/Supporting Files/tr.lproj/InfoPlist.strings +++ b/iOSClient/Supporting Files/tr.lproj/InfoPlist.strings diff --git a/iOSClient/Supporting Files/tr.lproj/Localizable.strings b/iOSClient/Supporting Files/tr.lproj/Localizable.strings Binary files differindex e52b1705a..8710d9dd1 100644 --- a/iOSClient/Supporting Files/tr.lproj/Localizable.strings +++ b/iOSClient/Supporting Files/tr.lproj/Localizable.strings 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 } } |