|
@@ -31,15 +31,6 @@ class NCSortMenu: NSObject {
|
|
private var hideDirectoryOnTop: Bool?
|
|
private var hideDirectoryOnTop: Bool?
|
|
|
|
|
|
private var key = ""
|
|
private var key = ""
|
|
- private var layout = ""
|
|
|
|
- private var sort = ""
|
|
|
|
- private var ascending = true
|
|
|
|
- private var groupBy = ""
|
|
|
|
- private var directoryOnTop = false
|
|
|
|
- private var titleButtonHeader = ""
|
|
|
|
- private var itemForLine: Int = 0
|
|
|
|
- private var fillBackgroud = ""
|
|
|
|
- private var fillBackgroudContentMode = ""
|
|
|
|
|
|
|
|
func toggleMenu(viewController: UIViewController, key: String, sortButton: UIButton?, serverUrl: String, hideDirectoryOnTop: Bool = false) {
|
|
func toggleMenu(viewController: UIViewController, key: String, sortButton: UIButton?, serverUrl: String, hideDirectoryOnTop: Bool = false) {
|
|
|
|
|
|
@@ -48,7 +39,7 @@ class NCSortMenu: NSObject {
|
|
self.serverUrl = serverUrl
|
|
self.serverUrl = serverUrl
|
|
self.hideDirectoryOnTop = hideDirectoryOnTop
|
|
self.hideDirectoryOnTop = hideDirectoryOnTop
|
|
|
|
|
|
- (layout, sort, ascending, groupBy, directoryOnTop, titleButtonHeader, itemForLine, fillBackgroud, fillBackgroudContentMode) = NCUtility.shared.getLayoutForView(key: key, serverUrl: serverUrl)
|
|
|
|
|
|
+ var layoutForView = NCUtility.shared.getLayoutForView(key: key, serverUrl: serverUrl)
|
|
|
|
|
|
let menuViewController = UIStoryboard.init(name: "NCMenu", bundle: nil).instantiateInitialViewController() as! NCMenu
|
|
let menuViewController = UIStoryboard.init(name: "NCMenu", bundle: nil).instantiateInitialViewController() as! NCMenu
|
|
var actions = [NCMenuAction]()
|
|
var actions = [NCMenuAction]()
|
|
@@ -59,15 +50,15 @@ class NCSortMenu: NSObject {
|
|
icon: UIImage(named: "sortFileNameAZ")!.image(color: NCBrandColor.shared.gray, size: 50),
|
|
icon: UIImage(named: "sortFileNameAZ")!.image(color: NCBrandColor.shared.gray, size: 50),
|
|
onTitle: NSLocalizedString("_order_by_name_z_a_", comment: ""),
|
|
onTitle: NSLocalizedString("_order_by_name_z_a_", comment: ""),
|
|
onIcon: UIImage(named: "sortFileNameZA")!.image(color: NCBrandColor.shared.gray, size: 50),
|
|
onIcon: UIImage(named: "sortFileNameZA")!.image(color: NCBrandColor.shared.gray, size: 50),
|
|
- selected: self.sort == "fileName",
|
|
|
|
- on: self.sort == "fileName",
|
|
|
|
|
|
+ selected: layoutForView.sort == "fileName",
|
|
|
|
+ on: layoutForView.sort == "fileName",
|
|
action: { menuAction in
|
|
action: { menuAction in
|
|
- if self.sort == "fileName" {
|
|
|
|
- self.ascending = !self.ascending
|
|
|
|
|
|
+ if layoutForView.sort == "fileName" {
|
|
|
|
+ layoutForView.ascending = !layoutForView.ascending
|
|
} else {
|
|
} else {
|
|
- self.sort = "fileName"
|
|
|
|
|
|
+ layoutForView.sort = "fileName"
|
|
}
|
|
}
|
|
- self.actionMenu()
|
|
|
|
|
|
+ self.actionMenu(layoutForView: layoutForView)
|
|
}
|
|
}
|
|
)
|
|
)
|
|
)
|
|
)
|
|
@@ -78,15 +69,15 @@ class NCSortMenu: NSObject {
|
|
icon: UIImage(named: "sortDateMoreRecent")!.image(color: NCBrandColor.shared.gray, size: 50),
|
|
icon: UIImage(named: "sortDateMoreRecent")!.image(color: NCBrandColor.shared.gray, size: 50),
|
|
onTitle: NSLocalizedString("_order_by_date_less_recent_", comment: ""),
|
|
onTitle: NSLocalizedString("_order_by_date_less_recent_", comment: ""),
|
|
onIcon: UIImage(named: "sortDateLessRecent")!.image(color: NCBrandColor.shared.gray, size: 50),
|
|
onIcon: UIImage(named: "sortDateLessRecent")!.image(color: NCBrandColor.shared.gray, size: 50),
|
|
- selected: self.sort == "date",
|
|
|
|
- on: self.sort == "date",
|
|
|
|
|
|
+ selected: layoutForView.sort == "date",
|
|
|
|
+ on: layoutForView.sort == "date",
|
|
action: { menuAction in
|
|
action: { menuAction in
|
|
- if self.sort == "date" {
|
|
|
|
- self.ascending = !self.ascending
|
|
|
|
|
|
+ if layoutForView.sort == "date" {
|
|
|
|
+ layoutForView.ascending = !layoutForView.ascending
|
|
} else {
|
|
} else {
|
|
- self.sort = "date"
|
|
|
|
|
|
+ layoutForView.sort = "date"
|
|
}
|
|
}
|
|
- self.actionMenu()
|
|
|
|
|
|
+ self.actionMenu(layoutForView: layoutForView)
|
|
}
|
|
}
|
|
)
|
|
)
|
|
)
|
|
)
|
|
@@ -97,15 +88,15 @@ class NCSortMenu: NSObject {
|
|
icon: UIImage(named: "sortSmallest")!.image(color: NCBrandColor.shared.gray, size: 50),
|
|
icon: UIImage(named: "sortSmallest")!.image(color: NCBrandColor.shared.gray, size: 50),
|
|
onTitle: NSLocalizedString("_order_by_size_largest_", comment: ""),
|
|
onTitle: NSLocalizedString("_order_by_size_largest_", comment: ""),
|
|
onIcon: UIImage(named: "sortLargest")!.image(color: NCBrandColor.shared.gray, size: 50),
|
|
onIcon: UIImage(named: "sortLargest")!.image(color: NCBrandColor.shared.gray, size: 50),
|
|
- selected: self.sort == "size",
|
|
|
|
- on: self.sort == "size",
|
|
|
|
|
|
+ selected: layoutForView.sort == "size",
|
|
|
|
+ on: layoutForView.sort == "size",
|
|
action: { menuAction in
|
|
action: { menuAction in
|
|
- if self.sort == "size" {
|
|
|
|
- self.ascending = !self.ascending
|
|
|
|
|
|
+ if layoutForView.sort == "size" {
|
|
|
|
+ layoutForView.ascending = !layoutForView.ascending
|
|
} else {
|
|
} else {
|
|
- self.sort = "size"
|
|
|
|
|
|
+ layoutForView.sort = "size"
|
|
}
|
|
}
|
|
- self.actionMenu()
|
|
|
|
|
|
+ self.actionMenu(layoutForView: layoutForView)
|
|
}
|
|
}
|
|
)
|
|
)
|
|
)
|
|
)
|
|
@@ -115,11 +106,11 @@ class NCSortMenu: NSObject {
|
|
NCMenuAction(
|
|
NCMenuAction(
|
|
title: NSLocalizedString("_directory_on_top_no_", comment: ""),
|
|
title: NSLocalizedString("_directory_on_top_no_", comment: ""),
|
|
icon: UIImage(named: "foldersOnTop")!.image(color: NCBrandColor.shared.gray, size: 50),
|
|
icon: UIImage(named: "foldersOnTop")!.image(color: NCBrandColor.shared.gray, size: 50),
|
|
- selected: self.directoryOnTop,
|
|
|
|
- on: self.directoryOnTop,
|
|
|
|
|
|
+ selected: layoutForView.directoryOnTop,
|
|
|
|
+ on: layoutForView.directoryOnTop,
|
|
action: { menuAction in
|
|
action: { menuAction in
|
|
- self.directoryOnTop = !self.directoryOnTop
|
|
|
|
- self.actionMenu()
|
|
|
|
|
|
+ layoutForView.directoryOnTop = !layoutForView.directoryOnTop
|
|
|
|
+ self.actionMenu(layoutForView: layoutForView)
|
|
}
|
|
}
|
|
)
|
|
)
|
|
)
|
|
)
|
|
@@ -136,22 +127,24 @@ class NCSortMenu: NSObject {
|
|
viewController.present(menuPanelController, animated: true, completion: nil)
|
|
viewController.present(menuPanelController, animated: true, completion: nil)
|
|
}
|
|
}
|
|
|
|
|
|
- func actionMenu() {
|
|
|
|
|
|
+ func actionMenu(layoutForView: NCGlobal.layoutForViewType) {
|
|
|
|
|
|
- switch sort {
|
|
|
|
|
|
+ var layoutForView = layoutForView
|
|
|
|
+
|
|
|
|
+ switch layoutForView.sort {
|
|
case "fileName":
|
|
case "fileName":
|
|
- titleButtonHeader = ascending ? "_sorted_by_name_a_z_" : "_sorted_by_name_z_a_"
|
|
|
|
|
|
+ layoutForView.titleButtonHeader = layoutForView.ascending ? "_sorted_by_name_a_z_" : "_sorted_by_name_z_a_"
|
|
case "date":
|
|
case "date":
|
|
- titleButtonHeader = ascending ? "_sorted_by_date_less_recent_" : "_sorted_by_date_more_recent_"
|
|
|
|
|
|
+ layoutForView.titleButtonHeader = layoutForView.ascending ? "_sorted_by_date_less_recent_" : "_sorted_by_date_more_recent_"
|
|
case "size":
|
|
case "size":
|
|
- titleButtonHeader = ascending ? "_sorted_by_size_smallest_" : "_sorted_by_size_largest_"
|
|
|
|
|
|
+ layoutForView.titleButtonHeader = layoutForView.ascending ? "_sorted_by_size_smallest_" : "_sorted_by_size_largest_"
|
|
default:
|
|
default:
|
|
break
|
|
break
|
|
}
|
|
}
|
|
|
|
|
|
- self.sortButton?.setTitle(NSLocalizedString(titleButtonHeader, comment: ""), for: .normal)
|
|
|
|
|
|
+ self.sortButton?.setTitle(NSLocalizedString(layoutForView.titleButtonHeader, comment: ""), for: .normal)
|
|
|
|
|
|
- NCUtility.shared.setLayoutForView(key: key, serverUrl: serverUrl, layout: layout, sort: sort, ascending: ascending, groupBy: groupBy, directoryOnTop: directoryOnTop, titleButtonHeader: titleButtonHeader, itemForLine: itemForLine, fillBackgroud: fillBackgroud, fillBackgroudContentMode: fillBackgroudContentMode)
|
|
|
|
|
|
+ NCUtility.shared.setLayoutForView(key: key, serverUrl: serverUrl, layoutForView: layoutForView)
|
|
|
|
|
|
NotificationCenter.default.postOnMainThread(name: NCGlobal.shared.notificationCenterReloadDataSource, userInfo: ["serverUrl":self.serverUrl])
|
|
NotificationCenter.default.postOnMainThread(name: NCGlobal.shared.notificationCenterReloadDataSource, userInfo: ["serverUrl":self.serverUrl])
|
|
}
|
|
}
|