Skip to content

Commit a3360b9

Browse files
TSI-shwetawaikarharshada-15-tsys
authored andcommitted
NMC 2341 - Theming changes
1 parent c38d042 commit a3360b9

6 files changed

Lines changed: 225 additions & 215 deletions

File tree

iOSClient/NCGlobal.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,7 @@ class NCGlobal: NSObject {
152152
//
153153
let buttonMoreMore = "more"
154154
let buttonMoreLock = "moreLock"
155+
let buttonMoreStop = "stop"
155156

156157
// Standard height sections header/footer
157158
//

iOSClient/Trash/Cell/NCTrashGridCell.swift

Lines changed: 65 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,8 @@
22
// NCTrashGridCell.swift
33
// Nextcloud
44
//
5-
// Created by Marino Faggiana on 19/03/2024.
6-
// Copyright © 2024 Marino Faggiana. All rights reserved.
7-
//
8-
// Author Marino Faggiana <marino.faggiana@nextcloud.com>
9-
//
10-
// This program is free software: you can redistribute it and/or modify
11-
// it under the terms of the GNU General Public License as published by
12-
// the Free Software Foundation, either version 3 of the License, or
13-
// (at your option) any later version.
14-
//
15-
// This program is distributed in the hope that it will be useful,
16-
// but WITHOUT ANY WARRANTY; without even the implied warranty of
17-
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18-
// GNU General Public License for more details.
19-
//
20-
// You should have received a copy of the GNU General Public License
21-
// along with this program. If not, see <http://www.gnu.org/licenses/>.
5+
// Created by A200073704 on 27/06/23.
6+
// Copyright © 2023 Marino Faggiana. All rights reserved.
227
//
238

249
import UIKit
@@ -29,20 +14,67 @@ protocol NCTrashGridCellDelegate: AnyObject {
2914

3015
class NCTrashGridCell: UICollectionViewCell, NCTrashCellProtocol {
3116

17+
3218
@IBOutlet weak var imageItem: UIImageView!
3319
@IBOutlet weak var imageSelect: UIImageView!
20+
@IBOutlet weak var imageStatus: UIImageView!
21+
@IBOutlet weak var imageFavorite: UIImageView!
22+
@IBOutlet weak var imageLocal: UIImageView!
3423
@IBOutlet weak var labelTitle: UILabel!
3524
@IBOutlet weak var labelInfo: UILabel!
36-
@IBOutlet weak var labelSubinfo: UILabel!
3725
@IBOutlet weak var buttonMore: UIButton!
3826
@IBOutlet weak var imageVisualEffect: UIVisualEffectView!
27+
@IBOutlet weak var progressView: UIProgressView!
3928

40-
weak var delegate: NCTrashGridCellDelegate?
41-
var objectId = ""
29+
internal var objectId = ""
4230
var indexPath = IndexPath()
4331
var account = ""
4432
var user = ""
4533

34+
weak var delegate: NCTrashGridCellDelegate?
35+
var namedButtonMore = ""
36+
37+
var fileObjectId: String? {
38+
get { return objectId }
39+
set { objectId = newValue ?? "" }
40+
}
41+
var filePreviewImageView: UIImageView? {
42+
get { return imageItem }
43+
set { imageItem = newValue }
44+
}
45+
var fileUser: String? {
46+
get { return user }
47+
set { user = newValue ?? "" }
48+
}
49+
var fileTitleLabel: UILabel? {
50+
get { return labelTitle }
51+
set { labelTitle = newValue }
52+
}
53+
var fileInfoLabel: UILabel? {
54+
get { return labelInfo }
55+
set { labelInfo = newValue }
56+
}
57+
var fileProgressView: UIProgressView? {
58+
get { return progressView }
59+
set { progressView = newValue }
60+
}
61+
var fileSelectImage: UIImageView? {
62+
get { return imageSelect }
63+
set { imageSelect = newValue }
64+
}
65+
var fileStatusImage: UIImageView? {
66+
get { return imageStatus }
67+
set { imageStatus = newValue }
68+
}
69+
var fileLocalImage: UIImageView? {
70+
get { return imageLocal }
71+
set { imageLocal = newValue }
72+
}
73+
var fileFavoriteImage: UIImageView? {
74+
get { return imageFavorite }
75+
set { imageFavorite = newValue }
76+
}
77+
4678
override func awakeFromNib() {
4779
super.awakeFromNib()
4880
initCell()
@@ -66,9 +98,14 @@ class NCTrashGridCell: UICollectionViewCell, NCTrashCellProtocol {
6698
imageVisualEffect.clipsToBounds = true
6799
imageVisualEffect.alpha = 0.5
68100

101+
progressView.tintColor = NCBrandColor.shared.brandElement
102+
progressView.transform = CGAffineTransform(scaleX: 1.0, y: 0.5)
103+
progressView.trackTintColor = .clear
104+
69105
labelTitle.text = ""
70106
labelInfo.text = ""
71-
labelSubinfo.text = ""
107+
labelTitle.textColor = .label
108+
labelInfo.textColor = .systemGray
72109
}
73110

74111
override func snapshotView(afterScreenUpdates afterUpdates: Bool) -> UIView? {
@@ -79,7 +116,10 @@ class NCTrashGridCell: UICollectionViewCell, NCTrashCellProtocol {
79116
delegate?.tapMoreGridItem(with: objectId, image: imageItem.image, sender: sender)
80117
}
81118

119+
82120
fileprivate func setA11yActions() {
121+
let moreName = namedButtonMore == NCGlobal.shared.buttonMoreStop ? "_cancel_" : "_more_"
122+
83123
self.accessibilityCustomActions = [
84124
UIAccessibilityCustomAction(
85125
name: NSLocalizedString("_more_", comment: ""),
@@ -88,7 +128,8 @@ class NCTrashGridCell: UICollectionViewCell, NCTrashCellProtocol {
88128
]
89129
}
90130

91-
func setButtonMore(image: UIImage) {
131+
func setButtonMore(named: String, image: UIImage) {
132+
namedButtonMore = named
92133
buttonMore.setImage(image, for: .normal)
93134
setA11yActions()
94135
}
@@ -110,7 +151,7 @@ class NCTrashGridCell: UICollectionViewCell, NCTrashCellProtocol {
110151
imageSelect.isHidden = false
111152
imageVisualEffect.isHidden = false
112153
} else {
113-
imageSelect.isHidden = true
154+
imageSelect.image = NCImageCache.shared.getImageCheckedNo()
114155
imageVisualEffect.isHidden = true
115156
}
116157
}
@@ -121,68 +162,11 @@ class NCTrashGridCell: UICollectionViewCell, NCTrashCellProtocol {
121162
dateFormatter.timeStyle = .none
122163
dateFormatter.locale = Locale.current
123164

124-
labelInfo.text = dateFormatter.string(from: date as Date)
125-
labelSubinfo.text = NCUtilityFileSystem().transformedSize(size)
165+
labelInfo.text = dateFormatter.string(from: date as Date) + " · " + NCUtilityFileSystem().transformedSize(size)
126166
}
127167

128168
func setAccessibility(label: String, value: String) {
129169
accessibilityLabel = label
130170
accessibilityValue = value
131171
}
132172
}
133-
134-
// MARK: - Grid Layout
135-
136-
class NCTrashGridLayout: UICollectionViewFlowLayout {
137-
138-
var heightLabelPlusButton: CGFloat = 60
139-
var marginLeftRight: CGFloat = 10
140-
var itemForLine: CGFloat = 3
141-
var itemWidthDefault: CGFloat = 140
142-
143-
// MARK: - View Life Cycle
144-
145-
override init() {
146-
super.init()
147-
148-
sectionHeadersPinToVisibleBounds = false
149-
150-
minimumInteritemSpacing = 1
151-
minimumLineSpacing = marginLeftRight
152-
153-
self.scrollDirection = .vertical
154-
self.sectionInset = UIEdgeInsets(top: 10, left: marginLeftRight, bottom: 0, right: marginLeftRight)
155-
}
156-
157-
required init?(coder aDecoder: NSCoder) {
158-
fatalError("init(coder:) has not been implemented")
159-
}
160-
161-
override var itemSize: CGSize {
162-
get {
163-
if let collectionView = collectionView {
164-
165-
if collectionView.frame.width < 400 {
166-
itemForLine = 3
167-
} else {
168-
itemForLine = collectionView.frame.width / itemWidthDefault
169-
}
170-
171-
let itemWidth: CGFloat = (collectionView.frame.width - marginLeftRight * 2 - marginLeftRight * (itemForLine - 1)) / itemForLine
172-
let itemHeight: CGFloat = itemWidth + heightLabelPlusButton
173-
174-
return CGSize(width: itemWidth, height: itemHeight)
175-
}
176-
177-
// Default fallback
178-
return CGSize(width: itemWidthDefault, height: itemWidthDefault)
179-
}
180-
set {
181-
super.itemSize = newValue
182-
}
183-
}
184-
185-
override func targetContentOffset(forProposedContentOffset proposedContentOffset: CGPoint) -> CGPoint {
186-
return proposedContentOffset
187-
}
188-
}

0 commit comments

Comments
 (0)