Code verbessert
This commit is contained in:
@@ -7,8 +7,8 @@ using System.Net;
|
||||
using System.Threading;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Controls.Primitives;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Forms;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Navigation;
|
||||
@@ -17,8 +17,18 @@ using System.Windows.Threading;
|
||||
using ChatController.ChatKlassen;
|
||||
using ChatController.HauptKlassen;
|
||||
using ChatController.Klassen;
|
||||
|
||||
using ChatController.LoginKlassen;
|
||||
using ChatController.Utilities;
|
||||
using Button = System.Windows.Controls.Button;
|
||||
using Cursors = System.Windows.Input.Cursors;
|
||||
using DataFormats = System.Windows.DataFormats;
|
||||
using KeyEventArgs = System.Windows.Input.KeyEventArgs;
|
||||
using MenuItem = System.Windows.Controls.MenuItem;
|
||||
using MessageBox = System.Windows.MessageBox;
|
||||
using Orientation = System.Windows.Controls.Orientation;
|
||||
using Panel = System.Windows.Controls.Panel;
|
||||
using Path = System.IO.Path;
|
||||
using ScrollBar = System.Windows.Controls.Primitives.ScrollBar;
|
||||
|
||||
namespace ChatController
|
||||
{
|
||||
@@ -33,7 +43,7 @@ namespace ChatController
|
||||
private ChatEmojiiControl _EmojiView;
|
||||
|
||||
private IOrderedEnumerable<ChatMessage> _OrderedMessages;
|
||||
private IOrderedEnumerable<KontaktlistBuilder> _ContactList;
|
||||
private IOrderedEnumerable<Contact> _ContactList;
|
||||
|
||||
private bool _ScrollPrueferAktivieren;
|
||||
|
||||
@@ -110,7 +120,7 @@ namespace ChatController
|
||||
#region Lade KontaktDaten und Lade sie in den Chat
|
||||
private void AktChatUser_OnMouseDoubleClick(object sender, MouseButtonEventArgs e)
|
||||
{
|
||||
_Chat.ShowKontaktPicture(_AktuellerKontakt);
|
||||
_Chat.ShowProfilePicture(_AktuellerKontakt);
|
||||
}
|
||||
|
||||
private void Clientlist_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
@@ -124,10 +134,10 @@ namespace ChatController
|
||||
|
||||
AktChatUserList.Items.Clear();
|
||||
|
||||
var kontakt = (KontaktlistBuilder)Clientlist.SelectedItem;
|
||||
var kontakt = (Contact)Clientlist.SelectedItem;
|
||||
|
||||
if(kontakt.SetzeGelesen == 1) {
|
||||
kontakt.SetzeGelesen = 0;
|
||||
if(kontakt.NumberOfReadMessages == 1) {
|
||||
kontakt.NumberOfReadMessages = 0;
|
||||
|
||||
Clientlist.Items.Refresh();
|
||||
}
|
||||
@@ -538,7 +548,7 @@ namespace ChatController
|
||||
|
||||
ChatListBox.ItemsSource = null;
|
||||
|
||||
var kontakt = (KontaktlistBuilder)Clientlist.SelectedItem;
|
||||
var kontakt = (Contact)Clientlist.SelectedItem;
|
||||
|
||||
var xy = _Chat.LadeWeiterNachrichten(kontakt);
|
||||
|
||||
@@ -596,57 +606,47 @@ namespace ChatController
|
||||
_NewThread = null;
|
||||
}
|
||||
|
||||
var kontakt = (AktuellerKontakt)AktChatUserList.Items[0];
|
||||
var kontakt = (AktuellerKontakt) AktChatUserList.Items[0];
|
||||
|
||||
//thred besser verwalten
|
||||
_NewThread = new Thread(DoWork);
|
||||
_NewThread.IsBackground = true;
|
||||
_NewThread = new Thread(DoWork) {IsBackground = true};
|
||||
_NewThread.Start(kontakt);
|
||||
|
||||
}
|
||||
|
||||
private void DoWork(object o)
|
||||
{
|
||||
bool _schaueNachMs = false;
|
||||
|
||||
var kontakt = (AktuellerKontakt) o;
|
||||
var currentContact = (AktuellerKontakt) o;
|
||||
|
||||
while (true)
|
||||
{
|
||||
Thread.Sleep(2000);
|
||||
|
||||
if (!disableKontaktNachrichtenThread)
|
||||
{
|
||||
_schaueNachMs = _Chat.SchaueNachNeuenNachrichten(kontakt);
|
||||
var hasNewMessages = _Chat.CheckIfNewMessagesExist(currentContact);
|
||||
|
||||
if (_schaueNachMs == true)
|
||||
if (hasNewMessages)
|
||||
{
|
||||
|
||||
this.Dispatcher.BeginInvoke(
|
||||
DispatcherPriority.Background,
|
||||
Utils.NotifyIcon.ShowBalloonTip(Constants.NotificationTimeout, "ownChat", $"Hat neue Nachrichten: {currentContact.Name}({currentContact.Contact.Name})", ToolTipIcon.None);
|
||||
|
||||
Dispatcher.BeginInvoke(DispatcherPriority.Background,
|
||||
(Action) delegate
|
||||
{
|
||||
if (kontakt != null)
|
||||
{
|
||||
|
||||
|
||||
_Chat.LadeChatNachrichtenVomKontakt(currentContact);
|
||||
|
||||
var x = _Chat.LadeChatNachrichtenVomKontakt(kontakt);
|
||||
CollectionViewSource.GetDefaultView(ChatListBox.ItemsSource).Refresh();
|
||||
|
||||
CollectionViewSource.GetDefaultView(ChatListBox.ItemsSource).Refresh();
|
||||
|
||||
ChatListBox.Items.MoveCurrentToLast();
|
||||
ChatListBox.ScrollIntoView(ChatListBox.Items.CurrentItem);
|
||||
|
||||
}
|
||||
ChatListBox.Items.MoveCurrentToLast();
|
||||
ChatListBox.ScrollIntoView(ChatListBox.Items.CurrentItem);
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -686,18 +686,18 @@ namespace ChatController
|
||||
{
|
||||
if (liste.GroupId == neu.GroupId)
|
||||
{
|
||||
if (!liste.ReceiveMs.Equals(neu.ReceiveMs)) {
|
||||
if (!liste.ReceivedMessage.Equals(neu.ReceivedMessage)) {
|
||||
|
||||
liste.ReceiveMs = neu.ReceiveMs;
|
||||
liste.ReceivedMessage = neu.ReceivedMessage;
|
||||
liste.TimeStamp = neu.TimeStamp;
|
||||
|
||||
if (aktuellerKontakt != null && neu.GroupId == aktuellerKontakt.GroupId)
|
||||
{
|
||||
liste.SetzeGelesen = 0;
|
||||
liste.NumberOfReadMessages = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
liste.SetzeGelesen = 1;
|
||||
liste.NumberOfReadMessages = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -746,7 +746,7 @@ namespace ChatController
|
||||
if (String.IsNullOrEmpty(Suche.Text))
|
||||
return true;
|
||||
else
|
||||
return ((item as KontaktlistBuilder).Name.IndexOf(Suche.Text, StringComparison.OrdinalIgnoreCase) >= 0);
|
||||
return ((item as Contact).Name.IndexOf(Suche.Text, StringComparison.OrdinalIgnoreCase) >= 0);
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -933,10 +933,10 @@ namespace ChatController
|
||||
#region speichern sowie lesen der MessageSyncDatei / stylezwecke (OwnChat only)
|
||||
public void SpeichereMessageInfoInDatei()
|
||||
{
|
||||
List<KontaktlistBuilder> aa = new List<KontaktlistBuilder>();
|
||||
List<Contact> aa = new List<Contact>();
|
||||
foreach (var kontakt in _ContactList)
|
||||
{
|
||||
if(kontakt.SetzeGelesen == 0 && !kontakt.ReceiveMs.Equals("")) {
|
||||
if(kontakt.NumberOfReadMessages == 0 && !kontakt.ReceivedMessage.Equals("")) {
|
||||
aa.Add(kontakt);
|
||||
}
|
||||
}
|
||||
@@ -947,7 +947,7 @@ namespace ChatController
|
||||
|
||||
public void LeseMessageInfoAusDatei()
|
||||
{
|
||||
List<KontaktlistBuilder> aa = new List<KontaktlistBuilder>();
|
||||
List<Contact> aa = new List<Contact>();
|
||||
foreach (var kontakt in _ContactList)
|
||||
{
|
||||
aa.Add(kontakt);
|
||||
@@ -962,7 +962,7 @@ namespace ChatController
|
||||
{
|
||||
if (kon.GroupId == item.Key)
|
||||
{
|
||||
kon.SetzeGelesen = 0;
|
||||
kon.NumberOfReadMessages = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -972,17 +972,17 @@ namespace ChatController
|
||||
|
||||
#region Speichern Und LEsen Der MesageSyncDatei (Bewoplaner only)
|
||||
|
||||
public List<KontaktlistBuilder> UebergebeMessageInfoDatenFuerDb()
|
||||
public List<Contact> UebergebeMessageInfoDatenFuerDb()
|
||||
{
|
||||
List < KontaktlistBuilder > aa = new List<KontaktlistBuilder>();
|
||||
List < Contact > aa = new List<Contact>();
|
||||
|
||||
Clientlist.Items.Refresh();
|
||||
|
||||
foreach (var item in Clientlist.Items)
|
||||
{
|
||||
var kontakt = item as KontaktlistBuilder;
|
||||
var kontakt = item as Contact;
|
||||
|
||||
if (kontakt != null && kontakt.SetzeGelesen == 0 && !kontakt.ReceiveMs.Equals(""))
|
||||
if (kontakt != null && kontakt.NumberOfReadMessages == 0 && !kontakt.ReceivedMessage.Equals(""))
|
||||
{
|
||||
aa.Add(kontakt);
|
||||
}
|
||||
@@ -1001,7 +1001,7 @@ namespace ChatController
|
||||
{
|
||||
if (kon.GroupId == item.Key)
|
||||
{
|
||||
kon.SetzeGelesen = 0;
|
||||
kon.NumberOfReadMessages = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1017,7 +1017,9 @@ namespace ChatController
|
||||
try
|
||||
{
|
||||
if (File.Exists(file))
|
||||
{
|
||||
File.Delete(file);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user