From b7188d5efa4983fe599b5e9b89fea75bd28828ca Mon Sep 17 00:00:00 2001 From: tejuamirthi Date: Sat, 3 Oct 2020 20:11:46 +0530 Subject: [PATCH 1/6] added priority image in cell --- .../To-Do/View/Base.lproj/Main.storyboard | 70 +++++++++++-------- Application/To-Do/View/TaskCell.swift | 1 + 2 files changed, 40 insertions(+), 31 deletions(-) diff --git a/Application/To-Do/View/Base.lproj/Main.storyboard b/Application/To-Do/View/Base.lproj/Main.storyboard index 8a62320..d7349f8 100644 --- a/Application/To-Do/View/Base.lproj/Main.storyboard +++ b/Application/To-Do/View/Base.lproj/Main.storyboard @@ -125,44 +125,51 @@ - - - - - - - - - - - - - - - + + + + + + - + - + - - - - + + + + + + + + + + + + + + @@ -241,5 +248,6 @@ + diff --git a/Application/To-Do/View/TaskCell.swift b/Application/To-Do/View/TaskCell.swift index 1d00fbb..62299c6 100644 --- a/Application/To-Do/View/TaskCell.swift +++ b/Application/To-Do/View/TaskCell.swift @@ -13,6 +13,7 @@ class TaskCell: UITableViewCell { @IBOutlet weak var title: UILabel! @IBOutlet weak var subtitle: UILabel! @IBOutlet weak var starImage: UIImageView! + @IBOutlet weak var priorityImage: UIImageView! override func awakeFromNib() { super.awakeFromNib() From 498fc77584f75e48e8f51cac04de03f7f85f31f4 Mon Sep 17 00:00:00 2001 From: tejuamirthi Date: Sat, 3 Oct 2020 20:12:31 +0530 Subject: [PATCH 2/6] segmentedcontrol for priorities --- .../Controller/TaskDetailsViewController.swift | 1 + .../To-Do/View/Base.lproj/Main.storyboard | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/Application/To-Do/Controller/TaskDetailsViewController.swift b/Application/To-Do/Controller/TaskDetailsViewController.swift index 44e3d87..da6570b 100644 --- a/Application/To-Do/Controller/TaskDetailsViewController.swift +++ b/Application/To-Do/Controller/TaskDetailsViewController.swift @@ -20,6 +20,7 @@ class TaskDetailsViewController: UIViewController{ @IBOutlet weak var subTasksTextView: UITextView! @IBOutlet weak var endDateTextField: UITextField! @IBOutlet weak var saveButton: UIBarButtonItem! + @IBOutlet weak var prioritySegmentedControl: UISegmentedControl! // VARIABLES var task : Task? = nil diff --git a/Application/To-Do/View/Base.lproj/Main.storyboard b/Application/To-Do/View/Base.lproj/Main.storyboard index d7349f8..318c092 100644 --- a/Application/To-Do/View/Base.lproj/Main.storyboard +++ b/Application/To-Do/View/Base.lproj/Main.storyboard @@ -66,11 +66,23 @@ + + + + + + + + + + + + @@ -79,14 +91,17 @@ + + + @@ -100,6 +115,7 @@ + From aafc583f2b16674c4b1bc93283d490b7189e79b9 Mon Sep 17 00:00:00 2001 From: tejuamirthi Date: Sat, 3 Oct 2020 22:07:38 +0530 Subject: [PATCH 3/6] Added priority enum --- Application/To-Do.xcodeproj/project.pbxproj | 4 +++ Application/To-Do/Model/Priority.swift | 34 +++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 Application/To-Do/Model/Priority.swift diff --git a/Application/To-Do.xcodeproj/project.pbxproj b/Application/To-Do.xcodeproj/project.pbxproj index 33f0449..4b9801a 100644 --- a/Application/To-Do.xcodeproj/project.pbxproj +++ b/Application/To-Do.xcodeproj/project.pbxproj @@ -18,6 +18,7 @@ 5BBE55C925245DBF00090F87 /* TaskDetailsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BBE55C825245DBF00090F87 /* TaskDetailsViewController.swift */; }; 5BBE55CB2524623900090F87 /* TextviewBorder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BBE55CA2524623900090F87 /* TextviewBorder.swift */; }; 603B4C66252647BD00579EC6 /* ResultsTableController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 603B4C65252647BD00579EC6 /* ResultsTableController.swift */; }; + 60B775552528C6C300833A15 /* Priority.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60B775542528C6C200833A15 /* Priority.swift */; }; AB95E033252712C4008C4E48 /* TaskCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB95E032252712C4008C4E48 /* TaskCell.swift */; }; /* End PBXBuildFile section */ @@ -35,6 +36,7 @@ 5BBE55C825245DBF00090F87 /* TaskDetailsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TaskDetailsViewController.swift; sourceTree = ""; }; 5BBE55CA2524623900090F87 /* TextviewBorder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextviewBorder.swift; sourceTree = ""; }; 603B4C65252647BD00579EC6 /* ResultsTableController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ResultsTableController.swift; sourceTree = ""; }; + 60B775542528C6C200833A15 /* Priority.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Priority.swift; sourceTree = ""; }; AB95E032252712C4008C4E48 /* TaskCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TaskCell.swift; sourceTree = ""; }; /* End PBXFileReference section */ @@ -81,6 +83,7 @@ children = ( 5BBE55A62523A42700090F87 /* To_Do.xcdatamodeld */, 07F46C8425277C7E007DC6AC /* SortTypes.swift */, + 60B775542528C6C200833A15 /* Priority.swift */, ); path = Model; sourceTree = ""; @@ -191,6 +194,7 @@ 07F46C8525277C7E007DC6AC /* SortTypes.swift in Sources */, 5BBE55B72523A90A00090F87 /* TodoViewController.swift in Sources */, 5BBE559E2523A42700090F87 /* AppDelegate.swift in Sources */, + 60B775552528C6C300833A15 /* Priority.swift in Sources */, 5BBE55A02523A42700090F87 /* SceneDelegate.swift in Sources */, 5BBE55A82523A42700090F87 /* To_Do.xcdatamodeld in Sources */, 5BBE55CB2524623900090F87 /* TextviewBorder.swift in Sources */, diff --git a/Application/To-Do/Model/Priority.swift b/Application/To-Do/Model/Priority.swift new file mode 100644 index 0000000..503ba99 --- /dev/null +++ b/Application/To-Do/Model/Priority.swift @@ -0,0 +1,34 @@ +// +// Priority.swift +// To-Do +// +// Created by Amirthy Tejeshwar on 03/10/20. +// Copyright © 2020 Aaryan Kothari. All rights reserved. +// + +import UIKit + +enum Priority: String, CaseIterable { + case low = "LOW" + case medium = "MEDIUM" + case high = "HIGH" + + func getPriorityIndex() -> Int { + return Priority.allCases.firstIndex(of: self)! + } + + func getImageForPriority() -> UIImage? { + switch self { + case .low: + return UIImage(systemName: "exclamationmark") + case .medium: + return UIImage(systemName: "exclamationmark.square") + case .high: + return UIImage(systemName: "exclamationmark.square.fill") + } + } + + static func getPriorityByIndex(index: Int) -> Priority { + return index < Priority.allCases.count ? Priority.allCases[index] : .low + } +} From be71719be116cb684fffa5e91188e92ac410eee9 Mon Sep 17 00:00:00 2001 From: tejuamirthi Date: Sat, 3 Oct 2020 22:09:06 +0530 Subject: [PATCH 4/6] added priority in coredata --- .../Model/To_Do.xcdatamodeld/To_Do.xcdatamodel/contents | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Application/To-Do/Model/To_Do.xcdatamodeld/To_Do.xcdatamodel/contents b/Application/To-Do/Model/To_Do.xcdatamodeld/To_Do.xcdatamodel/contents index 55a809c..8c1415c 100644 --- a/Application/To-Do/Model/To_Do.xcdatamodeld/To_Do.xcdatamodel/contents +++ b/Application/To-Do/Model/To_Do.xcdatamodeld/To_Do.xcdatamodel/contents @@ -1,5 +1,5 @@ - + @@ -9,12 +9,13 @@ + - + \ No newline at end of file From cd43c3f72f078fbc4c57ff99303624f34d94a407 Mon Sep 17 00:00:00 2001 From: tejuamirthi Date: Sat, 3 Oct 2020 22:10:44 +0530 Subject: [PATCH 5/6] star image width outlet --- .../To-Do/View/Base.lproj/Main.storyboard | 17 +++++++++-------- Application/To-Do/View/TaskCell.swift | 1 + 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/Application/To-Do/View/Base.lproj/Main.storyboard b/Application/To-Do/View/Base.lproj/Main.storyboard index 318c092..50dfdca 100644 --- a/Application/To-Do/View/Base.lproj/Main.storyboard +++ b/Application/To-Do/View/Base.lproj/Main.storyboard @@ -142,35 +142,36 @@ - - @@ -178,7 +179,6 @@ - @@ -187,6 +187,7 @@ + diff --git a/Application/To-Do/View/TaskCell.swift b/Application/To-Do/View/TaskCell.swift index 62299c6..62ebcb9 100644 --- a/Application/To-Do/View/TaskCell.swift +++ b/Application/To-Do/View/TaskCell.swift @@ -14,6 +14,7 @@ class TaskCell: UITableViewCell { @IBOutlet weak var subtitle: UILabel! @IBOutlet weak var starImage: UIImageView! @IBOutlet weak var priorityImage: UIImageView! + @IBOutlet weak var starImageWidthConstraint: NSLayoutConstraint! override func awakeFromNib() { super.awakeFromNib() From ddbb0e5e532bfec14bdff1cff41bf423114adab3 Mon Sep 17 00:00:00 2001 From: tejuamirthi Date: Sat, 3 Oct 2020 22:12:51 +0530 Subject: [PATCH 6/6] persisting priority property showing priority in the cell --- Application/To-Do/Controller/TaskDetailsViewController.swift | 3 +++ Application/To-Do/Controller/TodoViewController.swift | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Application/To-Do/Controller/TaskDetailsViewController.swift b/Application/To-Do/Controller/TaskDetailsViewController.swift index da6570b..29f73ce 100644 --- a/Application/To-Do/Controller/TaskDetailsViewController.swift +++ b/Application/To-Do/Controller/TaskDetailsViewController.swift @@ -77,6 +77,7 @@ class TaskDetailsViewController: UIViewController{ task?.subTasks = subtask task?.dueDate = endDate task?.dueDateTimeStamp = selectedDateTimeStamp ?? 0 + task?.priority = Priority.getPriorityByIndex(index: prioritySegmentedControl.selectedSegmentIndex).rawValue return task } @@ -86,6 +87,8 @@ class TaskDetailsViewController: UIViewController{ taskTitleTextField.text = task.title subTasksTextView.text = task.subTasks endDateTextField.text = task.dueDate + let priority: Priority = Priority(rawValue: task.priority ?? "") ?? Priority.low + prioritySegmentedControl.selectedSegmentIndex = priority.getPriorityIndex() } // IBOUTLET for datepicker diff --git a/Application/To-Do/Controller/TodoViewController.swift b/Application/To-Do/Controller/TodoViewController.swift index 6b2d945..7568114 100644 --- a/Application/To-Do/Controller/TodoViewController.swift +++ b/Application/To-Do/Controller/TodoViewController.swift @@ -163,7 +163,10 @@ class TodoViewController: UITableViewController { let task = todoList[indexPath.row] cell.title.text = task.title cell.subtitle.text = task.dueDate - cell.starImage.isHidden = todoList[indexPath.row].isFavourite ? false : true + /// width adjustment of starImage + cell.starImageWidthConstraint.constant = todoList[indexPath.row].isFavourite ? 32 : 0 + let priority: Priority = Priority(rawValue: task.priority ?? "") ?? Priority.low + cell.priorityImage.image = priority.getImageForPriority() return cell }