Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions iOSClient/Favorites/NCFavorite.swift
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ class NCFavorite: NCCollectionViewCommon {
titleCurrentFolder = NSLocalizedString("_favorites_", comment: "")
layoutKey = NCGlobal.shared.layoutViewFavorite
enableSearchBar = false
headerMenuButtonsView = true
headerRichWorkspaceDisable = true
emptyImageName = "star.fill"
emptyImageColors = [NCBrandColor.shared.yellowFavorite]
Expand Down
4 changes: 2 additions & 2 deletions iOSClient/Files/NCFiles.swift
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,8 @@ class NCFiles: NCCollectionViewCommon {
}

self.titleCurrentFolder = self.getNavigationTitle()
self.navigationItem.title = self.titleCurrentFolder
(self.navigationController as? NCMainNavigationController)?.setNavigationLeftItems()
///Magentacloud branding changes hide user account button on left navigation bar
// self.setNavigationLeftItems()

self.dataSource.removeAll()
self.reloadDataSource()
Expand Down
6 changes: 6 additions & 0 deletions iOSClient/Main/Collection Common/Cell/NCCellProtocol.swift
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ protocol NCCellProtocol {
var fileSharedImage: UIImageView? { get set }
var fileMoreImage: UIImageView? { get set }
var cellSeparatorView: UIView? { get set }
var indexPath: IndexPath { get set }
var fileSharedLabel: UILabel? { get set }

func titleInfoTrailingDefault()
func titleInfoTrailingFull()
Expand Down Expand Up @@ -115,6 +117,10 @@ extension NCCellProtocol {
get { return nil }
set {}
}
var fileSharedLabel: UILabel? {
get { return nil }
set { }
}

func titleInfoTrailingDefault() {}
func titleInfoTrailingFull() {}
Expand Down
157 changes: 66 additions & 91 deletions iOSClient/Main/Collection Common/Cell/NCListCell.swift
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ class NCListCell: UICollectionViewCell, UIGestureRecognizerDelegate, NCCellProto
@IBOutlet weak var imageSelect: UIImageView!
@IBOutlet weak var imageStatus: UIImageView!
@IBOutlet weak var imageFavorite: UIImageView!
@IBOutlet weak var imageFavoriteBackground: UIImageView!
@IBOutlet weak var imageLocal: UIImageView!
@IBOutlet weak var labelTitle: UILabel!
@IBOutlet weak var labelInfo: UILabel!
Expand All @@ -38,30 +37,26 @@ class NCListCell: UICollectionViewCell, UIGestureRecognizerDelegate, NCCellProto
@IBOutlet weak var buttonShared: UIButton!
@IBOutlet weak var imageMore: UIImageView!
@IBOutlet weak var buttonMore: UIButton!
@IBOutlet weak var progressView: UIProgressView!
@IBOutlet weak var separator: UIView!
@IBOutlet weak var tag0: UILabel!
@IBOutlet weak var tag1: UILabel!

@IBOutlet weak var labelShared: UILabel!
@IBOutlet weak var imageItemLeftConstraint: NSLayoutConstraint!
@IBOutlet weak var separatorHeightConstraint: NSLayoutConstraint!
@IBOutlet weak var titleTrailingConstraint: NSLayoutConstraint!
@IBOutlet weak var subInfoTrailingConstraint: NSLayoutConstraint!

var ocId = ""
var ocIdTransfer = ""
var user = ""
private var objectId = ""
private var user = ""
var indexPath = IndexPath()

weak var listCellDelegate: NCListCellDelegate?
var namedButtonMore = ""

var fileAvatarImageView: UIImageView? {
return imageShared
}
var fileOcId: String? {
get { return ocId }
set { ocId = newValue ?? "" }
}
var fileOcIdTransfer: String? {
get { return ocIdTransfer }
set { ocIdTransfer = newValue ?? "" }
var fileObjectId: String? {
get { return objectId }
set { objectId = newValue ?? "" }
}
var filePreviewImageView: UIImageView? {
get { return imageItem }
Expand All @@ -83,6 +78,14 @@ class NCListCell: UICollectionViewCell, UIGestureRecognizerDelegate, NCCellProto
get { return labelSubinfo }
set { labelSubinfo = newValue }
}
var fileProgressView: UIProgressView? {
get { return progressView }
set { progressView = newValue }
}
var fileSelectImage: UIImageView? {
get { return imageSelect }
set { imageSelect = newValue }
}
var fileStatusImage: UIImageView? {
get { return imageStatus }
set { imageStatus = newValue }
Expand All @@ -107,86 +110,92 @@ class NCListCell: UICollectionViewCell, UIGestureRecognizerDelegate, NCCellProto
get { return separator }
set { separator = newValue }
}

var fileSharedLabel: UILabel? {
get { return labelShared }
set { labelShared = newValue }
}
override func awakeFromNib() {
super.awakeFromNib()
initCell()
}

override func prepareForReuse() {
super.prepareForReuse()
initCell()
}
imageItem.layer.cornerRadius = 6
imageItem.layer.masksToBounds = true

func initCell() {
// use entire cell as accessibility element
accessibilityHint = nil
accessibilityLabel = nil
accessibilityValue = nil
isAccessibilityElement = true

imageItem.image = nil
imageItem.layer.cornerRadius = 6
imageItem.layer.masksToBounds = true
imageStatus.image = nil
imageFavorite.image = nil
imageFavoriteBackground.isHidden = true
imageLocal.image = nil
labelTitle.text = ""
labelInfo.text = ""
labelSubinfo.text = ""
imageShared.image = nil
imageMore.image = nil
separatorHeightConstraint.constant = 0.5
tag0.text = ""
tag1.text = ""
titleInfoTrailingDefault()
progressView.tintColor = NCBrandColor.shared.brandElement
progressView.transform = CGAffineTransform(scaleX: 1.0, y: 0.5)
progressView.trackTintColor = .clear

let longPressedGesture = UILongPressGestureRecognizer(target: self, action: #selector(longPress(gestureRecognizer:)))
longPressedGesture.minimumPressDuration = 0.5
longPressedGesture.delegate = self
longPressedGesture.delaysTouchesBegan = true
self.addGestureRecognizer(longPressedGesture)

separator.backgroundColor = .separator
separatorHeightConstraint.constant = 0.5

labelTitle.text = ""
labelInfo.text = ""
labelTitle.textColor = .label
labelInfo.textColor = .systemGray
labelSubinfo.textColor = .systemGray
}

override func prepareForReuse() {
super.prepareForReuse()
imageItem.backgroundColor = nil
accessibilityHint = nil
accessibilityLabel = nil
accessibilityValue = nil
}

override func snapshotView(afterScreenUpdates afterUpdates: Bool) -> UIView? {
return nil
}

@IBAction func touchUpInsideShare(_ sender: Any) {
listCellDelegate?.tapShareListItem(with: ocId, ocIdTransfer: ocIdTransfer, sender: sender)
listCellDelegate?.tapShareListItem(with: objectId, indexPath: indexPath, sender: sender)
}

@IBAction func touchUpInsideMore(_ sender: Any) {
listCellDelegate?.tapMoreListItem(with: ocId, ocIdTransfer: ocIdTransfer, image: imageItem.image, sender: sender)
listCellDelegate?.tapMoreListItem(with: objectId, namedButtonMore: namedButtonMore, image: imageItem.image, indexPath: indexPath, sender: sender)
}

@objc func longPress(gestureRecognizer: UILongPressGestureRecognizer) {
listCellDelegate?.longPressListItem(with: ocId, ocIdTransfer: ocIdTransfer, gestureRecognizer: gestureRecognizer)
listCellDelegate?.longPressListItem(with: objectId, indexPath: indexPath, gestureRecognizer: gestureRecognizer)
}

fileprivate func setA11yActions() {
let moreName = namedButtonMore == NCGlobal.shared.buttonMoreStop ? "_cancel_" : "_more_"
self.accessibilityCustomActions = [
UIAccessibilityCustomAction(
name: NSLocalizedString("_share_", comment: ""),
target: self,
selector: #selector(touchUpInsideShare)),
UIAccessibilityCustomAction(
name: NSLocalizedString("_more_", comment: ""),
name: NSLocalizedString(moreName, comment: ""),
target: self,
selector: #selector(touchUpInsideMore))
]
}

func titleInfoTrailingFull() {
titleTrailingConstraint.constant = 10
subInfoTrailingConstraint.constant = 10
}

func titleInfoTrailingDefault() {
titleTrailingConstraint.constant = 90
subInfoTrailingConstraint.constant = 90
}

func setButtonMore(image: UIImage) {
func setButtonMore(named: String, image: UIImage) {
namedButtonMore = named
imageMore.image = image

setA11yActions()
}

Expand All @@ -200,6 +209,10 @@ class NCListCell: UICollectionViewCell, UIGestureRecognizerDelegate, NCCellProto
buttonShared.isHidden = status
}

func hideSeparator(_ status: Bool) {
separator.isHidden = status
}

func selected(_ status: Bool, isEditMode: Bool) {
if isEditMode {
imageItemLeftConstraint.constant = 45
Expand All @@ -225,70 +238,32 @@ class NCListCell: UICollectionViewCell, UIGestureRecognizerDelegate, NCCellProto
blurEffectView?.backgroundColor = .lightGray
blurEffectView?.frame = self.bounds
blurEffectView?.autoresizingMask = [.flexibleWidth, .flexibleHeight]
imageSelect.image = NCImageCache.shared.getImageCheckedYes()
imageSelect.image = NCImageCache.images.checkedYes
backgroundView = blurEffectView
separator.isHidden = true
} else {
imageSelect.image = NCImageCache.shared.getImageCheckedNo()
imageSelect.image = NCImageCache.images.checkedNo
backgroundView = nil
separator.isHidden = false
}

}

func writeInfoDateSize(date: NSDate, size: Int64) {
labelInfo.text = NCUtility().dateDiff(date as Date)
labelSubinfo.text = NCUtilityFileSystem().transformedSize(size)
labelInfo.text = NCUtility().dateDiff(date as Date) + " · " + NCUtilityFileSystem().transformedSize(size)
labelSubinfo.text = ""
}

func setAccessibility(label: String, value: String) {
accessibilityLabel = label
accessibilityValue = value
}

func setTags(tags: [String]) {
if tags.isEmpty {
tag0.isHidden = true
tag1.isHidden = true
labelInfo.isHidden = false
labelSubinfo.isHidden = false
} else {
tag0.isHidden = false
tag1.isHidden = true
labelInfo.isHidden = true
labelSubinfo.isHidden = true

if let tag = tags.first {
tag0.text = tag
if tags.count > 1 {
tag1.isHidden = false
tag1.text = "+\(tags.count - 1)"
}
}
}
}

func setIconOutlines() {
imageFavoriteBackground.isHidden = fileFavoriteImage?.image == nil

if imageStatus.image != nil {
imageStatus.makeCircularBackground(withColor: .systemBackground)
} else {
imageStatus.backgroundColor = .clear
}

if imageLocal.image != nil {
imageLocal.makeCircularBackground(withColor: .systemBackground)
} else {
imageLocal.backgroundColor = .clear
}
}
}

protocol NCListCellDelegate: AnyObject {
func tapShareListItem(with ocId: String, ocIdTransfer: String, sender: Any)
func tapMoreListItem(with ocId: String, ocIdTransfer: String, image: UIImage?, sender: Any)
func longPressListItem(with ocId: String, ocIdTransfer: String, gestureRecognizer: UILongPressGestureRecognizer)
func tapShareListItem(with objectId: String, indexPath: IndexPath, sender: Any)
func tapMoreListItem(with objectId: String, namedButtonMore: String, image: UIImage?, indexPath: IndexPath, sender: Any)
func longPressListItem(with objectId: String, indexPath: IndexPath, gestureRecognizer: UILongPressGestureRecognizer)
}

// MARK: - List Layout
Expand Down
Loading