private void Awake() { if (instance == null) { instance = this; } else if (instance != this) { Destroy(gameObject); } DontDestroyOnLoad(this.gameObject); }
private void ClipboardChanged(object sender, EventArgs e) { if (OffClipboard == true) { return; } if (listBox.Items.Count == Properties.Settings.Default.MaxElement && Properties.Settings.Default.MaxElement != 0) { listBox.Items.RemoveAt(listBox.Items.Count - 1); System.GC.Collect(); } if (listBox.Items.Count > Properties.Settings.Default.MaxElement && Properties.Settings.Default.MaxElement != 0) { for (int i = Properties.Settings.Default.MaxElement; i < listBox.Items.Count; i++) { listBox.Items.RemoveAt(i); System.GC.Collect(); } } try { if (Clipboard.ContainsImage()) { //TODO NAJPIERW SRAWDZ POŹNNNIEJ STWURZ A I ZOBACZ DO TEJ KONTROLKI BO MASZ TAM ASCYN: OffClipboard //TODO for -> foreach //NIEKTURE ELEMĘTY MAJĄ WSOBIE Clipboard.GetText(TextDataFormat.Text) POBIRZ TO NA POCZĄTKU PUŹNIEJ PODAJ TEKST JAKO PARAMETR //var clip = Clipboard.GetImage(); var y = Clipboard.GetText(TextDataFormat.Html); for (int i = 0; i < listBox.Items.Count; i++) { if (listBox.Items[i].GetType() == typeof(imageControl)) { if ((listBox.Items[i] as imageControl).paseToClipboardURL == Regex.Match(y, "<img.+?src=[\"'](.+?)[\"'].+?>", RegexOptions.IgnoreCase).Groups[1].Value) { return; } } } imageControl imageControl = new imageControl(Clipboard.GetImage(), y); listBox.Items.Insert(0, imageControl); return; } if (Clipboard.ContainsText(TextDataFormat.Rtf)) { var x = Clipboard.GetText(TextDataFormat.Rtf); for (int i = 0; i < listBox.Items.Count; i++) { if (listBox.Items[i].GetType() == typeof(textControl)) { if ((listBox.Items[i] as textControl).paseToClipboard == x) { return; } } } textControl text = new textControl(x, TextDataFormat.Rtf); //if (listBox.Items.Cast<textControl>().Any(x => x.paseToClipboard == text.paseToClipboard)) //return; listBox.Items.Insert(0, text); return; } if (Clipboard.ContainsText(TextDataFormat.Html)) { var x = Clipboard.GetText(TextDataFormat.Html); //MessageBox.Show(x); for (int i = 0; i < listBox.Items.Count; i++) { if (listBox.Items[i].GetType() == typeof(textControl)) { if ((listBox.Items[i] as textControl).paseToClipboard == x) { return; } } } textControl text = new textControl(x, TextDataFormat.Html); listBox.Items.Insert(0, text); return; } if (Clipboard.ContainsText(TextDataFormat.Text)) { var x = Clipboard.GetText(TextDataFormat.Text); //TODO NAPRAW for (int i = 0; i < listBox.Items.Count; i++) { if (listBox.Items[i].GetType() == typeof(textControl)) { if ((listBox.Items[i] as textControl).paseToClipboard.Replace("\r\n", string.Empty) == x.Replace("\r\n", string.Empty)) { return; } } } textControl text = new textControl(x, TextDataFormat.Text); listBox.Items.Insert(0, text); return; } if (Clipboard.ContainsFileDropList()) { var data = Clipboard.GetFileDropList(); if (data.Count == 1) { string[] imageExtension = { ".jpg", ".png", ".jpeg", ".bmp" }; string[] musicExtension = { ".mp3", ".wav", ".m4a", ".ogg", ".flac" }; var Extension = System.IO.Path.GetExtension(data[0]); foreach (string x in imageExtension) { if (Extension.ToLower().Contains(x)) { for (int i = 0; i < listBox.Items.Count; i++) { if (listBox.Items[i].GetType() == typeof(imageControl)) { if ((listBox.Items[i] as imageControl).paseToClipboardFilePath == data[0]) { return; } } } imageControl imageControl = new imageControl(data[0]); listBox.Items.Insert(0, imageControl); return; } } foreach (string x in musicExtension) { if (Extension.ToLower().Contains(x)) { for (int i = 0; i < listBox.Items.Count; i++) { if (listBox.Items[i].GetType() == typeof(musicControl)) { if ((listBox.Items[i] as musicControl).paseToClipboardFilePath == data[0]) { return; } } } musicControl musicControl = new musicControl(data[0]); listBox.Items.Insert(0, musicControl); return; } } if (Extension != "") { for (int i = 0; i < listBox.Items.Count; i++) { if (listBox.Items[i].GetType() == typeof(fileControl)) { if ((listBox.Items[i] as fileControl).paseToClipboardFilePath == data[0]) { return; } } } fileControl fileControl = new fileControl(data[0]); listBox.Items.Insert(0, fileControl); } else { if (Properties.Settings.Default.FileDropList == false) { return; } for (int i = 0; i < listBox.Items.Count; i++) { if (listBox.Items[i].GetType() == typeof(fileListControl)) { if ((listBox.Items[i] as fileListControl).allFile.Contains(data[0])) { return; } } } fileListControl fileList = new fileListControl(data); listBox.Items.Insert(0, fileList); } } else { if (Properties.Settings.Default.FileDropList == false) { return; } for (int i = 0; i < listBox.Items.Count; i++) { if (listBox.Items[i].GetType() == typeof(fileListControl)) { if ((listBox.Items[i] as fileListControl).allFile.Contains(data[0])) { return; } } } fileListControl fileList = new fileListControl(data); listBox.Items.Insert(0, fileList); } } } catch { MessageBox.Show("Błąd podczas pobierania wartości"); } }