Skip to content
Open
Show file tree
Hide file tree
Changes from 4 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
20 changes: 20 additions & 0 deletions ownCloud/Resources/Localizable.xcstrings
Original file line number Diff line number Diff line change
Expand Up @@ -81992,6 +81992,26 @@
}
}
},
"Sync disabled" : {
"localizations" : {
"de" : {
"stringUnit" : {
"state" : "translated",
"value" : "Synchronisation deaktiviert"
}
}
}
},
"Sync enabled" : {
"localizations" : {
"de" : {
"stringUnit" : {
"state" : "translated",
"value" : "Synchronisation aktiviert"
}
}
}
},
"System" : {
"localizations" : {
"ar" : {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,7 @@ extension OCShare: UniversalItemListCellContentProvider {
}

if !omitLongActions, offerAcceptAction {
let (_, accessory) = cell.makeAccessoryButton(accessibilityLabel: OCLocalizedString("Accept share", nil), cssSelectors: [.accessory, .accept], provideAccessibilityCustomAction: false, action: OCAction(title: OCLocalizedString("Accept", nil), icon: OCSymbol.icon(forSymbolName: "checkmark.circle"), action: { _, _, done in
let (_, accessory) = cell.makeAccessoryButton(accessibilityLabel: OCLocalizedString("Accept share", nil), cssSelectors: [.accessory, .accept], provideAccessibilityCustomAction: false, action: OCAction(title: label(for: .accept, in: context), icon: OCSymbol.icon(forSymbolName: iconName(for: .accept, in: context)), action: { _, _, done in
makeDecisionAction(true)
done(nil)
}))
Expand All @@ -272,7 +272,7 @@ extension OCShare: UniversalItemListCellContentProvider {
}

if !omitLongActions, offerDeclineAction {
let (_, accessory) = cell.makeAccessoryButton(accessibilityLabel: OCLocalizedString("Decline share", nil), cssSelectors: [.accessory, .decline], provideAccessibilityCustomAction: false, action: OCAction(title: OCLocalizedString("Decline", nil), icon: OCSymbol.icon(forSymbolName: "minus.circle"), action: { _, _, done in
let (_, accessory) = cell.makeAccessoryButton(accessibilityLabel: OCLocalizedString("Decline share", nil), cssSelectors: [.accessory, .decline], provideAccessibilityCustomAction: false, action: OCAction(title: label(for: .decline, in: context), icon: OCSymbol.icon(forSymbolName: iconName(for: .decline, in: context)), action: { _, _, done in
makeDecisionAction(false)
done(nil)
}))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,23 +67,23 @@ extension OCShare: DataItemSwipeInteraction {

if offerDeclineAction {
// Decline / Unshare
let title = (self.category == .byMe) ? OCLocalizedString("Unshare", nil) : OCLocalizedString("Decline", nil)
let title = label(for: .decline, in: context)
let action = UIContextualAction(style: .destructive, title: title, handler: { [weak self] (_ action, _ view, _ uiCompletionHandler) in
uiCompletionHandler(false)
self?.decline(in: context)
})
action.image = OCSymbol.icon(forSymbolName: "minus.circle")
action.image = OCSymbol.icon(forSymbolName: iconName(for: .decline, in: context))

actions.append(action)
}

if offerAcceptAction {
// Accept
let action = UIContextualAction(style: .normal, title: OCLocalizedString("Accept", nil), handler: { [weak self] (_ action, _ view, _ uiCompletionHandler) in
let action = UIContextualAction(style: .normal, title: label(for: .accept, in: context), handler: { [weak self] (_ action, _ view, _ uiCompletionHandler) in
uiCompletionHandler(false)
self?.accept(in: context)
})
action.image = OCSymbol.icon(forSymbolName: "checkmark.circle")
action.image = OCSymbol.icon(forSymbolName: iconName(for: .accept, in: context))

actions.append(action)
}
Expand All @@ -105,8 +105,8 @@ extension OCShare: DataItemContextMenuInteraction {
let action = UIAction(handler: { [weak self] action in
self?.accept(in: context)
})
action.title = OCLocalizedString("Accept", nil)
action.image = OCSymbol.icon(forSymbolName: "checkmark.circle")
action.title = label(for: .accept, in: context)
action.image = OCSymbol.icon(forSymbolName: iconName(for: .accept, in: context))

elements.append(action)
}
Expand All @@ -116,9 +116,9 @@ extension OCShare: DataItemContextMenuInteraction {
let action = UIAction(handler: { [weak self] action in
self?.decline(in: context)
})
let title = (self.category == .byMe) ? OCLocalizedString("Unshare", nil) : OCLocalizedString("Decline", nil)
let title = label(for: .decline, in: context)
action.title = title
action.image = OCSymbol.icon(forSymbolName: "minus.circle")
action.image = OCSymbol.icon(forSymbolName: iconName(for: .decline, in: context))
action.attributes = .destructive

elements.append(action)
Expand Down Expand Up @@ -171,3 +171,54 @@ extension OCShare: DataItemSelectionInteraction {
return nil
}
}

// Extension to provide context-dependant labels and icons for shares (adapted to OC10/oCIS + type)
extension OCShare {
enum Label {
case pending
case accepted
case declined
}

enum Element {
case accept
case decline
}

func iconName(for element: Element, in clientContext: ClientContext?) -> String {
switch element {
case .accept:
return "checkmark.circle"

case .decline:
return "minus.circle"
}
}

func label(for element: Element, in clientContext: ClientContext?) -> String {
let isOcis = clientContext?.core?.useDrives == true

switch element {
case .accept:
return isOcis ? OCLocalizedString("Enable", nil) : OCLocalizedString("Accept", nil)

case .decline:
return (category == .byMe) ? OCLocalizedString("Unshare", nil) : (isOcis ? OCLocalizedString("Disable", nil) : OCLocalizedString("Decline", nil))
}
}

static func label(for label: Label, in clientContext: ClientContext?) -> String {
let isOcis = clientContext?.core?.useDrives == true

switch label {
case .pending:
return OCLocalizedString("Pending", nil)

case .accepted:
return isOcis ? OCLocalizedString("Sync enabled", nil) : OCLocalizedString("Accepted", nil)

case .declined:
return isOcis ? OCLocalizedString("Sync disabled", nil) : OCLocalizedString("Declined", nil)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -74,9 +74,9 @@ class ClientSharedWithMeViewController: CollectionViewController {
if let pendingDataSource = clientContext?.core?.sharedWithMePendingDataSource,
let acceptedDataSource = clientContext?.core?.sharedWithMeAcceptedDataSource,
let declinedDataSource = clientContext?.core?.sharedWithMeDeclinedDataSource {
pendingSection = buildSection(identifier: "pending", titled: OCLocalizedString("Pending", nil), compositionDataSource: pendingSectionDataSource, contentDataSource: pendingDataSource)
acceptedSection = buildSection(identifier: "accepted", titled: OCLocalizedString("Accepted", nil), compositionDataSource: acceptedSectionDataSource, contentDataSource: acceptedDataSource, queryDataSource: clientContext?.core?.useDrives == true ? acceptedDataSource : nil)
declinedSection = buildSection(identifier: "declined", titled: OCLocalizedString("Declined", nil), compositionDataSource: declinedSectionDataSource, contentDataSource: declinedDataSource)
pendingSection = buildSection(identifier: "pending", titled: OCShare.label(for: .pending, in: clientContext), compositionDataSource: pendingSectionDataSource, contentDataSource: pendingDataSource)
acceptedSection = buildSection(identifier: "accepted", titled: OCShare.label(for: .accepted, in: clientContext), compositionDataSource: acceptedSectionDataSource, contentDataSource: acceptedDataSource, queryDataSource: clientContext?.core?.useDrives == true ? acceptedDataSource : nil)
declinedSection = buildSection(identifier: "declined", titled: OCShare.label(for: .declined, in: clientContext), compositionDataSource: declinedSectionDataSource, contentDataSource: declinedDataSource)

add(sections: [
pendingSection!,
Expand Down