@@ -20,10 +20,14 @@ extension SavedSearch {
20
20
image: newItem. image ?? SavedSearch . defaultImage,
21
21
tintColor: newItem. tintColor)
22
22
}
23
+
24
+ var newItem : NewItem {
25
+ return NewItem ( title: self . title, image: self . image, tintColor: self . tintColor)
26
+ }
23
27
}
24
28
25
29
@NSApplicationMain
26
- class AppDelegate : NSObject , NSApplicationDelegate , FatSidebarDelegate , FatSidebarSelectionChangeDelegate {
30
+ class AppDelegate : NSObject , NSApplicationDelegate , FatSidebarDelegate {
27
31
28
32
@IBOutlet weak var addItemController : AddItemController !
29
33
@IBOutlet weak var itemContextualMenu : NSMenu !
@@ -47,13 +51,19 @@ class AppDelegate: NSObject, NSApplicationDelegate, FatSidebarDelegate, FatSideb
47
51
func applicationDidFinishLaunching( _ aNotification: Notification ) {
48
52
49
53
fatSidebar. delegate = self
50
- fatSidebar. selectionDelegate = self
51
54
fatSidebar. theme = OmniFocusTheme ( )
52
55
fatSidebar. selectionMode = . toggleOne
53
56
54
57
fatSidebar. sidebarContextualMenu = itemContextualMenu
55
58
fatSidebar. itemContextualMenu = itemContextualMenu
56
59
60
+ replaceSidebarWithModel ( )
61
+ }
62
+
63
+ fileprivate func replaceSidebarWithModel( ) {
64
+
65
+ fatSidebar. removeAllItems ( )
66
+
57
67
for savedSearch in savedSearches {
58
68
fatSidebar. appendItem ( savedSearch)
59
69
}
@@ -84,6 +94,21 @@ class AppDelegate: NSObject, NSApplicationDelegate, FatSidebarDelegate, FatSideb
84
94
savedSearches. insert ( item, at: newIndex)
85
95
}
86
96
97
+ func sidebar( _ sidebar: FatSidebar , editItem index: Int ) {
98
+
99
+ let oldValues = savedSearches [ index] . newItem
100
+ addItemController. showSheet ( in: self . window, initialValues: oldValues) { item in
101
+
102
+ guard let item = item else { return }
103
+
104
+ let savedSearch = SavedSearch ( fromNewItem: item)
105
+ self . savedSearches. remove ( at: index)
106
+ self . savedSearches. insert ( savedSearch, at: index)
107
+
108
+ self . replaceSidebarWithModel ( )
109
+ }
110
+ }
111
+
87
112
func sidebar( _ sidebar: FatSidebar , didChangeSelection selectionIndex: Int ) {
88
113
89
114
Swift . print ( " Selected \( savedSearches [ selectionIndex] ) " )
0 commit comments