From 06de21776a4f69510aa97ad8ce9f5fab1670e4c0 Mon Sep 17 00:00:00 2001 From: Brent Simmons Date: Mon, 6 Nov 2017 22:06:42 -0800 Subject: [PATCH] Allow article drag from timeline view to other apps. Write URL on dragging. --- Evergreen/MainWindow/Timeline/ArticlePasteboardWriter.swift | 5 +++++ Evergreen/MainWindow/Timeline/TimelineViewController.swift | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Evergreen/MainWindow/Timeline/ArticlePasteboardWriter.swift b/Evergreen/MainWindow/Timeline/ArticlePasteboardWriter.swift index fef28e03e..503d07461 100644 --- a/Evergreen/MainWindow/Timeline/ArticlePasteboardWriter.swift +++ b/Evergreen/MainWindow/Timeline/ArticlePasteboardWriter.swift @@ -29,6 +29,9 @@ import Data if let _ = article.title { types += [.string] } + if let link = article.preferredLink, let _ = URL(string: link) { + types += [.URL] + } return types // TODO: add types } @@ -42,6 +45,8 @@ import Data switch type { case .string: plist = article.title ?? "" + case .URL: + plist = article.preferredLink ?? "" default: plist = nil } diff --git a/Evergreen/MainWindow/Timeline/TimelineViewController.swift b/Evergreen/MainWindow/Timeline/TimelineViewController.swift index 06aa3fe84..9a6524138 100644 --- a/Evergreen/MainWindow/Timeline/TimelineViewController.swift +++ b/Evergreen/MainWindow/Timeline/TimelineViewController.swift @@ -69,7 +69,9 @@ class TimelineViewController: NSViewController, KeyboardDelegate, UndoableComman tableView.target = self tableView.doubleAction = #selector(openArticleInBrowser(_:)) tableView.keyboardDelegate = self - + tableView.setDraggingSourceOperationMask(.copy, forLocal: true) + tableView.setDraggingSourceOperationMask(.copy, forLocal: false) + if !didRegisterForNotifications { NotificationCenter.default.addObserver(self, selector: #selector(sidebarSelectionDidChange(_:)), name: .SidebarSelectionDidChange, object: nil)