1
1
mirror of https://github.com/qvacua/vimr.git synced 2024-12-26 15:25:14 +03:00
vimr/VimR/OpenQuicklyWindowManager.swift

39 lines
1.0 KiB
Swift
Raw Normal View History

/**
* Tae Won Ha - http://taewon.de - @hataewon
* See LICENSE
*/
import Cocoa
import RxSwift
class OpenQuicklyWindowManager: StandardFlow {
2016-09-25 18:50:33 +03:00
fileprivate let openQuicklyWindow: OpenQuicklyWindowComponent
fileprivate let fileItemService: FileItemService
init(source: Observable<Any>, fileItemService: FileItemService) {
self.fileItemService = fileItemService
self.openQuicklyWindow = OpenQuicklyWindowComponent(source: source, fileItemService: fileItemService)
2016-09-01 21:10:40 +03:00
super.init(source: source)
}
func open(forMainWindow mainWindow: MainWindowComponent) {
2016-09-03 00:35:18 +03:00
self.openQuicklyWindow.show(forMainWindow: mainWindow)
2016-09-01 21:10:40 +03:00
}
2016-09-25 18:50:33 +03:00
override func subscription(source: Observable<Any>) -> Disposable {
return source
.filter { $0 is MainWindowAction }
.map { $0 as! MainWindowAction }
.subscribe(onNext: { [unowned self] event in
switch event {
case let .openQuickly(mainWindow: mainWindow):
self.open(forMainWindow: mainWindow)
default:
return
}
})
2016-09-01 21:10:40 +03:00
}
}