Files
ShadowsocksX-NG/ShadowsocksX-NG/ImportWindowController.swift

58 lines
1.9 KiB
Swift

//
// ImportWindowController.swift
// ShadowsocksX-NG
//
// Created by on 2019/9/10.
// Copyright © 2019 qiuyuzhou. All rights reserved.
//
import Cocoa
class ImportWindowController: NSWindowController {
@IBOutlet weak var inputBox: NSTextField!
override func windowDidLoad() {
super.windowDidLoad()
// Implement this method to handle any initialization after your window controller's window has been loaded from its nib file.
let pb = NSPasteboard.general
if #available(OSX 10.13, *) {
if let text = pb.string(forType: NSPasteboard.PasteboardType.URL) {
if let url = URL(string: text) {
if url.scheme == "ss" {
inputBox.stringValue = text
}
}
}
}
if let text = pb.string(forType: NSPasteboard.PasteboardType.string) {
let urls = ServerProfileManager.findURLSInText(text)
if urls.count > 0 {
inputBox.stringValue = text
}
}
}
@IBAction func handleImport(_ sender: NSButton) {
let mgr = ServerProfileManager.instance
let urls = ServerProfileManager.findURLSInText(inputBox.stringValue)
let addCount = mgr.addServerProfileByURL(urls: urls)
if addCount > 0 {
let alert = NSAlert.init()
alert.alertStyle = .informational;
alert.messageText = "Success to add \(addCount) server.".localized
alert.addButton(withTitle: "OK")
alert.runModal()
self.close()
} else {
let alert = NSAlert.init()
alert.alertStyle = .informational;
alert.messageText = "Not found valid shadowsocks server urls.".localized
alert.addButton(withTitle: "OK")
alert.runModal()
}
}
}