internal void Copy(object obj)
        {
            var    urls   = (obj as ObservableCollection <object>).Cast <UrlListType>();
            string output = "";

            foreach (var item in urls)
            {
                output += item.Url + '\n';
            }
            _clipboard.Clear();
            _clipboard.SetText(output);
        }
Beispiel #2
0
        private async Task MonitorClipboardAsync()
        {
            _ctsClipboard = new CancellationTokenSource();

            while (!_ctsClipboard.Token.IsCancellationRequested)
            {
                List <string> source = Regex.Replace(_clipboardService.GetText(), @"\t|\r", "").Split('\n').ToList();
                List <string> dest   = Regex.Replace(this.Urls, @"\r|\t", "").Split('\n').ToList();
                foreach (var url in source)
                {
                    var f_url = Regex.Replace(url, @"\n", "");
                    if ((f_url.Contains("http") || f_url.Contains("ftp")) && !dest.Contains(f_url))
                    {
                        this.Urls += f_url + '\n';
                        _clipboardService.Clear();
                    }
                }
                RaisePropertyChanged(nameof(this.Urls));
                await Task.Delay(1000);
            }

            _ctsClipboard = null;
        }