Skip to content

Commit 3e514cf

Browse files
NMC 2157 - Move copy customisation changes
1 parent fc593b6 commit 3e514cf

2 files changed

Lines changed: 118 additions & 185 deletions

File tree

iOSClient/Main/Collection Common/Cell/NCListCell.swift

Lines changed: 63 additions & 127 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ class NCListCell: UICollectionViewCell, UIGestureRecognizerDelegate, NCCellProto
2828
@IBOutlet weak var imageSelect: UIImageView!
2929
@IBOutlet weak var imageStatus: UIImageView!
3030
@IBOutlet weak var imageFavorite: UIImageView!
31+
// @IBOutlet weak var imageFavoriteBackground: UIImageView!
3132
@IBOutlet weak var imageLocal: UIImageView!
3233
@IBOutlet weak var labelTitle: UILabel!
3334
@IBOutlet weak var labelInfo: UILabel!
@@ -37,29 +38,23 @@ class NCListCell: UICollectionViewCell, UIGestureRecognizerDelegate, NCCellProto
3738
@IBOutlet weak var buttonShared: UIButton!
3839
@IBOutlet weak var imageMore: UIImageView!
3940
@IBOutlet weak var buttonMore: UIButton!
40-
@IBOutlet weak var progressView: UIProgressView!
4141
@IBOutlet weak var separator: UIView!
42-
@IBOutlet weak var labelShared: UILabel!
4342
@IBOutlet weak var tag0: UILabel!
4443
@IBOutlet weak var tag1: UILabel!
4544

4645
@IBOutlet weak var imageItemLeftConstraint: NSLayoutConstraint!
4746
@IBOutlet weak var separatorHeightConstraint: NSLayoutConstraint!
48-
@IBOutlet weak var subInfoTrailingConstraint: NSLayoutConstraint!
49-
@IBOutlet weak var iPadLabelTitleTrailingConstraint: NSLayoutConstraint!
50-
@IBOutlet weak var iPhoneLabelTitleTrailingConstraint: NSLayoutConstraint!
51-
52-
private var ocId = ""
53-
private var ocIdTransfer = ""
54-
private var user = ""
47+
@IBOutlet weak var titleTrailingConstraint: NSLayoutConstraint!
48+
49+
var ocId = ""
50+
var ocIdTransfer = ""
51+
var user = ""
5552

5653
weak var listCellDelegate: NCListCellDelegate?
57-
var namedButtonMore = ""
5854

5955
var fileAvatarImageView: UIImageView? {
6056
return imageShared
6157
}
62-
6358
var fileOcId: String? {
6459
get { return ocId }
6560
set { ocId = newValue ?? "" }
@@ -88,14 +83,6 @@ class NCListCell: UICollectionViewCell, UIGestureRecognizerDelegate, NCCellProto
8883
get { return labelSubinfo }
8984
set { labelSubinfo = newValue }
9085
}
91-
var fileProgressView: UIProgressView? {
92-
get { return progressView }
93-
set { progressView = newValue }
94-
}
95-
var fileSelectImage: UIImageView? {
96-
get { return imageSelect }
97-
set { imageSelect = newValue }
98-
}
9986
var fileStatusImage: UIImageView? {
10087
get { return imageStatus }
10188
set { imageStatus = newValue }
@@ -121,32 +108,30 @@ class NCListCell: UICollectionViewCell, UIGestureRecognizerDelegate, NCCellProto
121108
set { separator = newValue }
122109
}
123110

124-
var fileSharedLabel: UILabel? {
125-
get { return labelShared }
126-
set { labelShared = newValue }
111+
override var accessibilityIdentifier: String? {
112+
get {
113+
super.accessibilityIdentifier
114+
}
115+
set {
116+
super.accessibilityIdentifier = newValue
117+
118+
if let newValue {
119+
buttonShared.accessibilityIdentifier = "\(newValue)/shareButton"
120+
}
121+
}
127122
}
128123

129124
override func awakeFromNib() {
130125
super.awakeFromNib()
131126
initCell()
132127
}
133-
134-
func initCell() {
135-
136-
imageItem.layer.cornerRadius = 6
137-
imageItem.layer.masksToBounds = true
138-
imageStatus.image = nil
139-
imageFavorite.image = nil
140-
imageFavoriteBackground.isHidden = true
141-
imageLocal.image = nil
142-
labelTitle.text = ""
143-
labelInfo.text = ""
144-
labelSubinfo.text = ""
145-
imageShared.image = nil
146-
imageMore.image = nil
147128

148-
// use entire cell as accessibility element
149-
129+
override func prepareForReuse() {
130+
super.prepareForReuse()
131+
initCell()
132+
}
133+
134+
func initCell() {
150135
accessibilityHint = nil
151136
accessibilityLabel = nil
152137
accessibilityValue = nil
@@ -157,102 +142,64 @@ class NCListCell: UICollectionViewCell, UIGestureRecognizerDelegate, NCCellProto
157142
imageItem.layer.masksToBounds = true
158143
imageStatus.image = nil
159144
imageFavorite.image = nil
145+
// imageFavoriteBackground.isHidden = true
160146
imageLocal.image = nil
161147
labelTitle.text = ""
162148
labelInfo.text = ""
163149
labelSubinfo.text = ""
164150
imageShared.image = nil
165151
imageMore.image = nil
166152
separatorHeightConstraint.constant = 0.5
153+
tag0.text = ""
154+
tag1.text = ""
167155
titleInfoTrailingDefault()
168156

169157
let longPressedGesture = UILongPressGestureRecognizer(target: self, action: #selector(longPress(gestureRecognizer:)))
170158
longPressedGesture.minimumPressDuration = 0.5
171159
longPressedGesture.delegate = self
172160
longPressedGesture.delaysTouchesBegan = true
173161
self.addGestureRecognizer(longPressedGesture)
174-
175-
separator.backgroundColor = .separator
176-
separatorHeightConstraint.constant = 0.5
177-
titleInfoTrailingDefault()
178-
179-
labelTitle.textColor = .label
180-
labelInfo.textColor = .systemGray
181-
labelSubinfo.textColor = .systemGray
182-
setButtonMore(named: NCGlobal.shared.buttonMoreMore, image: NCImageCache.images.buttonMore)
183-
imageMore.isHidden = false
184-
buttonMore.isHidden = false
185-
updateConstraintsForCurrentDevice()
186-
}
187-
188-
override func prepareForReuse() {
189-
super.prepareForReuse()
190-
initCell()
191162
}
192163

193164
override func snapshotView(afterScreenUpdates afterUpdates: Bool) -> UIView? {
194165
return nil
195166
}
196-
197-
override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
198-
super.traitCollectionDidChange(previousTraitCollection)
199-
updateConstraintsForCurrentDevice()
200-
}
201167

202-
func updateConstraintsForCurrentDevice() {
203-
if labelShared?.isHidden == false {
204-
iPhoneLabelTitleTrailingConstraint.isActive = false
205-
iPadLabelTitleTrailingConstraint.isActive = true
206-
} else {
207-
iPhoneLabelTitleTrailingConstraint.isActive = true
208-
iPadLabelTitleTrailingConstraint.isActive = false
209-
}
210-
// iPhoneLabelTitleTrailingConstraint.isActive = UIDevice.current.userInterfaceIdiom == .pad ? false : true
211-
// iPadLabelTitleTrailingConstraint.isActive = UIDevice.current.userInterfaceIdiom == .pad ? true : false
212-
}
213-
214168
@IBAction func touchUpInsideShare(_ sender: Any) {
215169
listCellDelegate?.tapShareListItem(with: ocId, ocIdTransfer: ocIdTransfer, sender: sender)
216170
}
217171

218172
@IBAction func touchUpInsideMore(_ sender: Any) {
219-
listCellDelegate?.tapMoreListItem(with: ocId, ocIdTransfer: ocIdTransfer, namedButtonMore: namedButtonMore, image: imageItem.image, sender: sender)
173+
listCellDelegate?.tapMoreListItem(with: ocId, ocIdTransfer: ocIdTransfer, image: imageItem.image, sender: sender)
220174
}
221175

222176
@objc func longPress(gestureRecognizer: UILongPressGestureRecognizer) {
223-
listCellDelegate?.longPressListItem(with: ocId, ocIdTransfer: ocIdTransfer, namedButtonMore: namedButtonMore, gestureRecognizer: gestureRecognizer)
224-
}
225-
226-
@objc func longPressInsideMore(gestureRecognizer: UILongPressGestureRecognizer) {
227-
listCellDelegate?.longPressMoreListItem(with: ocId, namedButtonMore: namedButtonMore, gestureRecognizer: gestureRecognizer)
177+
listCellDelegate?.longPressListItem(with: ocId, ocIdTransfer: ocIdTransfer, gestureRecognizer: gestureRecognizer)
228178
}
229179

230180
fileprivate func setA11yActions() {
231-
let moreName = namedButtonMore == NCGlobal.shared.buttonMoreStop ? "_cancel_" : "_more_"
232181
self.accessibilityCustomActions = [
233182
UIAccessibilityCustomAction(
234183
name: NSLocalizedString("_share_", comment: ""),
235184
target: self,
236-
selector: #selector(touchUpInsideShare)),
185+
selector: #selector(touchUpInsideShare(_:))),
237186
UIAccessibilityCustomAction(
238-
name: NSLocalizedString(moreName, comment: ""),
187+
name: NSLocalizedString("_more_", comment: ""),
239188
target: self,
240-
selector: #selector(touchUpInsideMore))
189+
selector: #selector(touchUpInsideMore(_:)))
241190
]
242191
}
243192

244193
func titleInfoTrailingFull() {
245-
subInfoTrailingConstraint.constant = 10
194+
titleTrailingConstraint.constant = 10
246195
}
247196

248197
func titleInfoTrailingDefault() {
249-
subInfoTrailingConstraint.constant = 90
198+
titleTrailingConstraint.constant = 90
250199
}
251200

252-
func setButtonMore(named: String, image: UIImage) {
253-
namedButtonMore = named
201+
func setButtonMore(image: UIImage) {
254202
imageMore.image = image
255-
256203
setA11yActions()
257204
}
258205

@@ -266,68 +213,58 @@ class NCListCell: UICollectionViewCell, UIGestureRecognizerDelegate, NCCellProto
266213
buttonShared.isHidden = status
267214
}
268215

269-
func hideSeparator(_ status: Bool) {
270-
separator.isHidden = status
271-
}
272-
273-
func selectMode(_ status: Bool) {
274-
if status {
216+
func selected(_ status: Bool, isEditMode: Bool) {
217+
// E2EE - remove encrypt folder selection
218+
if let metadata = NCManageDatabase.shared.getMetadataFromOcId(ocId), metadata.e2eEncrypted {
219+
imageSelect.isHidden = true
220+
} else {
221+
imageSelect.isHidden = isEditMode ? false : true
222+
}
223+
// guard let metadata = NCManageDatabase.shared.getMetadataFromOcId(ocId), !metadata.e2eEncrypted else {
224+
//// guard let metadata = NCManageDatabase.shared.getMetadataFromOcId(ocId), !metadata.e2eEncrypted else {
225+
// backgroundView = nil
226+
// separator.isHidden = false
227+
// imageSelect.isHidden = true
228+
// return
229+
// }
230+
if isEditMode {
275231
imageItemLeftConstraint.constant = 45
276-
imageSelect.isHidden = false
232+
// imageSelect.isHidden = false
233+
imageShared.isHidden = true
277234
imageMore.isHidden = true
278235
buttonShared.isHidden = true
279236
buttonMore.isHidden = true
280237
accessibilityCustomActions = nil
281238
} else {
282239
imageItemLeftConstraint.constant = 10
283-
imageSelect.isHidden = true
240+
// imageSelect.isHidden = true
241+
imageShared.isHidden = false
284242
imageMore.isHidden = false
285243
buttonShared.isHidden = false
286244
buttonMore.isHidden = false
287245
backgroundView = nil
288246
setA11yActions()
289247
}
290-
}
291-
292-
func selected(_ status: Bool, isEditMode: Bool) {
293-
// NMC-1190 - iOS - Files - Deleting files while files are still uploading won't delete properly : to fix this issue remove check for !metadata.isInTransfer in below line
294-
guard let metadata = NCManageDatabase.shared.getMetadataFromOcId(ocId), !metadata.isInTransfer, !metadata.e2eEncrypted else {
295-
// guard let metadata = NCManageDatabase.shared.getMetadataFromOcId(ocId), !metadata.e2eEncrypted else {
296-
backgroundView = nil
297-
separator.isHidden = false
298-
imageSelect.isHidden = true
299-
300-
return
301-
}
302-
303248
if status {
304-
var blurEffect: UIVisualEffect?
305249
var blurEffectView: UIView?
306-
if traitCollection.userInterfaceStyle == .dark {
307-
blurEffect = UIBlurEffect(style: .dark)
308-
blurEffectView = UIVisualEffectView(effect: blurEffect)
309-
blurEffectView?.backgroundColor = .black
310-
} else {
311-
blurEffect = UIBlurEffect(style: .extraLight)
312-
blurEffectView = UIVisualEffectView(effect: blurEffect)
313-
blurEffectView?.backgroundColor = .lightGray
314-
}
250+
blurEffectView = UIVisualEffectView(effect: UIBlurEffect(style: .systemMaterial))
251+
blurEffectView?.backgroundColor = .lightGray
315252
blurEffectView?.frame = self.bounds
316253
blurEffectView?.autoresizingMask = [.flexibleWidth, .flexibleHeight]
317-
imageSelect.image = NCImageCache.images.checkedYes
254+
imageSelect.image = NCImageCache.shared.getImageCheckedYes()
318255
backgroundView = blurEffectView
319-
imageSelect.image = NCImageCache.images.checkedYes
320256
separator.isHidden = true
321257
} else {
322-
imageSelect.image = NCImageCache.images.checkedNo
258+
imageSelect.image = NCImageCache.shared.getImageCheckedNo()
323259
backgroundView = nil
324260
separator.isHidden = false
325261
}
262+
326263
}
327264

328265
func writeInfoDateSize(date: NSDate, size: Int64) {
329-
labelInfo.text = NCUtility().getRelativeDateTitle(date as Date) + " · " + NCUtilityFileSystem().transformedSize(size)
330-
labelSubinfo.text = ""
266+
labelInfo.text = NCUtility().getRelativeDateTitle(date as Date)
267+
labelSubinfo.text = NCUtilityFileSystem().transformedSize(size)
331268
}
332269

333270
func setAccessibility(label: String, value: String) {
@@ -386,7 +323,7 @@ class NCListCell: UICollectionViewCell, UIGestureRecognizerDelegate, NCCellProto
386323
}
387324

388325
}
389-
326+
390327
override func layoutSubviews() {
391328
super.layoutSubviews()
392329
// Keep the shadow path in sync with current bounds
@@ -401,9 +338,8 @@ class NCListCell: UICollectionViewCell, UIGestureRecognizerDelegate, NCCellProto
401338

402339
protocol NCListCellDelegate: AnyObject {
403340
func tapShareListItem(with ocId: String, ocIdTransfer: String, sender: Any)
404-
func tapMoreListItem(with ocId: String, ocIdTransfer: String, namedButtonMore: String, image: UIImage?, sender: Any)
405-
func longPressMoreListItem(with ocId: String, namedButtonMore: String, gestureRecognizer: UILongPressGestureRecognizer)
406-
func longPressListItem(with ocId: String, ocIdTransfer: String, namedButtonMore: String, gestureRecognizer: UILongPressGestureRecognizer)
341+
func tapMoreListItem(with ocId: String, ocIdTransfer: String, image: UIImage?, sender: Any)
342+
func longPressListItem(with ocId: String, ocIdTransfer: String, gestureRecognizer: UILongPressGestureRecognizer)
407343
}
408344

409345
// MARK: - List Layout

0 commit comments

Comments
 (0)