/* [PRÓBA WYSŁANIA WIADOMOŚCI] */ private void button1_Click(object sender, RoutedEventArgs e) { // NADAJEMY WYSYLANEJ WIADOMOSCI AKTUALNA DATE I CZAS ORAZ TRESC POBRANA Z POLA TEKSTOWEGO nowa.czas = DateTime.Now; // JEZELI W MOMENCIE WYSYLANIA WIADOMOSCI AKTYWNE BYLO OKNO WPROWADZANIA TEKSTU WYSYLAMY TEKST W PRZECIWNYM RAZIE WYBRANA NAKLEJKE if (textBox.IsVisible) { nowa.Text = textBox.Text; } else { Image naklejka = listaNaklejek.SelectedItem as Image; nowa.Text = "Sticker:" + naklejka.ToolTip; } // WYSYLLAMY NOWA WIADOMOSC DO BAZY DANYCH baza_danych.wyslij_wiadomosc(nowa.nadawca, nowa.odbiorca, lista.Find(x => x.login == nowa.odbiorca).kluczPub, nowa.Text); // NOWO WYSLANA WIADOMOSC JEST DODAWANA ROWNIEZ DO ARCHIWUM KONWERSACJI archiwum.Add(nowa); // CZYSCIMY POLE TEKSTOWE Z TRESCI WYSLANEJ JUZ WIADOMOSCI ORAZ ODSWIEZAMY OKNO KONWERSACJI UWZGLEDNIAJAC JUZ WYSLANA WIADOMOSC DODANA DO ARCHIWUM textBox.Clear(); pokazWiadom(nowa.odbiorca); // PO WYSLANIU WIADOMOSCI TWORZYMY OBIEKT NOWEJ BY BYL GOTOWY NA WYSLANIE NASTEPNEJ - ODBIORCA JEST TEN SAM nowa = new Wiadomosc() { nadawca = _login, odbiorca = nowa.odbiorca }; }
/* [ZMINIMALIZOWANIE OKNA ROZMOWY] */ private void button1_Copy_Click(object sender, RoutedEventArgs e) { // CHOWAMY INFORMACJE NA TEMAT OTWARTEJ KONWERSACJI infoKonf.Content = string.Empty; // CZYWSCIMY OKNO Z OTWARTA KONWERSACJA ORAZ POLE TEKSTOWE NA NOWA WIADOMOSC okno.Items.Clear(); textBox.Clear(); // BLOKUJEMY MOZLIWOSC WYSLANIA NOWEJ WIADOMOSCI textBox.IsEnabled = false; button1.IsEnabled = false; button1_Copy2.IsEnabled = false; button1.Background = new SolidColorBrush(Color.FromArgb(255, (byte)255, (byte)255, (byte)255)); button1.Foreground = new SolidColorBrush(Color.FromArgb(255, (byte)80, (byte)80, (byte)80)); button1_Copy2.Background = new SolidColorBrush(Color.FromArgb(255, (byte)255, (byte)255, (byte)255)); button1_Copy2.Foreground = new SolidColorBrush(Color.FromArgb(255, (byte)80, (byte)80, (byte)80)); nowa = null; // CHOWAMY PRZYCISKI ODPOWIEDZIALNE ZA MINIMALIZOWANIE I ZAMYKANIE KONWERSACJI button1_Copy.Visibility = Visibility.Hidden; button1_Copy1.Visibility = Visibility.Hidden; // PRZY ZMINIMALIZOWANIU KONWERSACJI DOMYSLNYM OKNEM WIADOMOSCI BEDZIE OKNO NA WIADOMOSC TEKSTOWA button1_Copy2.Content = "☹"; textBox.Visibility = Visibility.Visible; listaNaklejek.Visibility = Visibility.Hidden; }
/* [ZAMKNIECIE OKNA ROZMOWY] */ private void button1_Copy1_Click(object sender, RoutedEventArgs e) { // NA LISCIE ZNAJOMYCH ZNAJDUJEMY UZYTKOWNIKA Z AKTUALNIE OTWARTEJ KONWERSACJI I KOLOR JEGO LOGINU ZMIENIAMY SPOWEROTEM NA CZARNY foreach (var kontakt in kontakty.Items) { Run login = (((kontakt as GroupBox).Content as ListBox).Items.GetItemAt(0) as TextBlock).Inlines.FirstInline as Run; if (login.Text == infoKonf.Content.ToString()) { login.Foreground = Brushes.Black; break; } } // USUWAMY Z ARCHIWUM WIADOMOSCI ZWIAZANE Z UZYTKOWNIKIEM Z KTORYM ZAMYKAMY KONWERSACJE for (int i = 0; i < archiwum.Count; i++) { if (archiwum[i].odbiorca == infoKonf.Content.ToString() || archiwum[i].nadawca == infoKonf.Content.ToString()) { archiwum.Remove(archiwum[i--]); if (i < -1) { i = -1; } } } // CHOWAMY INFORMACJE NA TEMAT OTWARTEJ KONWERSACJI infoKonf.Content = string.Empty; // CZYSCIMY OKNO Z OTWARTA KONWERSACJA ORAZ POLE TEKSTOWE NA NOWA WIADOMOSC okno.Items.Clear(); textBox.Clear(); // UNIEMOZLIWIAMY WYSLANIE NOWYCH WIADOMOSCI textBox.IsEnabled = false; button1.IsEnabled = false; button1_Copy2.IsEnabled = false; button1.Background = new SolidColorBrush(Color.FromArgb(255, (byte)255, (byte)255, (byte)255)); button1.Foreground = new SolidColorBrush(Color.FromArgb(255, (byte)80, (byte)80, (byte)80)); button1_Copy2.Background = new SolidColorBrush(Color.FromArgb(255, (byte)255, (byte)255, (byte)255)); button1_Copy2.Foreground = new SolidColorBrush(Color.FromArgb(255, (byte)80, (byte)80, (byte)80)); nowa = null; // CHOWAMY PRZYCISKI ODPOWIEDZIALNE ZA MINIMALIZOWANIE I ZAMYKANIE KONWERSACJI button1_Copy.Visibility = Visibility.Hidden; button1_Copy1.Visibility = Visibility.Hidden; // PRZY ZAMKNIECIU KONWERSACJI DOMYSLNYM OKNEM WIADOMOSCI BEDZIE OKNO NA WIADOMOSC TEKSTOWA button1_Copy2.Content = "☹"; textBox.Visibility = Visibility.Visible; listaNaklejek.Visibility = Visibility.Hidden; /*SORTOWANIE KONTAKTÓW NA LIŚCIE ZNAJOMYCH*/ sortujKontakty(); }
/* [OTWARCIE OKNA KONWERSACJI Z INNYM UŻYTKOWNIKIEM] */ private void Group_MouseDoubleClick(object sender, MouseButtonEventArgs e) { // TWORZYMY NOWA WIADOMOSC KTOREJ ODBIORCA BEDZIE WYBRANY PRZEZ NAS DO KONWERSACJI ZNAJOMY nowa = new Wiadomosc() { nadawca = _login, odbiorca = ((GroupBox)sender).Name }; // OTWIERAMY OKNO KONWERSACJI DLA WIADOMOSCI WYMIENIONYCH Z WYBRANYM ZNAJOMYM pokazWiadom(nowa.odbiorca); // ZMIENIAMY INFO O WYBRANEJ DO KONWERSACJI OSOBIE NAD JEJ OKNEM infoKonf.Content = nowa.odbiorca; // JEZELI FUNKCJA WYWOLANA ZOSTALA POPRZEZ WYBRANIE ZNAJOMEGO DO KONWERSACJI - ZMIENIAMY KOLOR JEGO LOGINU NA LISCIE ZNAJOMYCH NA ZIELONY if ((sender as GroupBox).Content != null) { Run login = (((sender as GroupBox).Content as ListBox).Items.GetItemAt(0) as TextBlock).Inlines.FirstInline as Run; login.Foreground = new SolidColorBrush(Color.FromArgb(255, (byte)111, (byte)163, (byte)99)); } // UAKTYWNIAMY POLE TEKSTOWE NA TRESC NOWEJ WIADOMOSCI ORAZ PRZYCISK UMOZLIWIAJACY JEJ WYSLANIE textBox.IsEnabled = true; button1.IsEnabled = true; button1_Copy2.IsEnabled = true; button1.Background = new SolidColorBrush(Color.FromArgb(255, (byte)167, (byte)207, (byte)118)); button1.Foreground = new SolidColorBrush(Color.FromArgb(255, (byte)255, (byte)255, (byte)255)); button1_Copy2.Background = new SolidColorBrush(Color.FromArgb(255, (byte)167, (byte)207, (byte)118)); button1_Copy2.Foreground = new SolidColorBrush(Color.FromArgb(255, (byte)255, (byte)255, (byte)255)); // UKAZUJEMY PRZYCISK ZMINIMALIZOWANIA ORAZ ZAMKNIECIA OTWARTEJ KONWERSACJI button1_Copy.Visibility = Visibility.Visible; button1_Copy1.Visibility = Visibility.Visible; // PRZY WYBORZE UZYTKOWNIKA DO KONWERSACJI Z LISTY ZNAJOMYCH DOMYSLNYM OKNEM WIADOMOSCI BEDZIE OKNO NA WIADOMOSC TEKSTOWA button1_Copy2.Content = "☹"; textBox.Visibility = Visibility.Visible; listaNaklejek.Visibility = Visibility.Hidden; /*SORTOWANIE KONTAKTÓW NA LIŚCIE ZNAJOMYCH*/ sortujKontakty(); }