Chats now only try to connect, if they are opened
This commit is contained in:
committed by
Felix Hartmann (PEA3-Fe-FI)
parent
b12d3f3f4f
commit
c00a7ff379
@@ -146,9 +146,11 @@ namespace PolyChat
|
||||
|
||||
private bool isInConnections(string IP)
|
||||
{
|
||||
if (Connections.ContainsKey(IP))
|
||||
return true;
|
||||
return false;
|
||||
return Connections.ContainsKey(IP);
|
||||
}
|
||||
public bool IsConnected(string ip)
|
||||
{
|
||||
return Connections.ContainsKey(ip) && Connections[ip].IsConnected();
|
||||
}
|
||||
|
||||
public static string getIP()
|
||||
@@ -195,7 +197,6 @@ namespace PolyChat
|
||||
ip = ip.Substring(0, ip.Length - 4);
|
||||
Debug.WriteLine($"-{ip}");
|
||||
Debug.WriteLine(jsonArr);
|
||||
Connect(ip);
|
||||
UIController.OnIncomingConnection(ip);
|
||||
UIController.OnIncomingMessages(ip, jsonArr);
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ using System.Threading.Tasks;
|
||||
using Windows.UI.Core;
|
||||
using Windows.UI.Xaml;
|
||||
using Windows.UI.Xaml.Controls;
|
||||
using Windows.UI.Xaml.Data;
|
||||
|
||||
// The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409
|
||||
|
||||
@@ -136,6 +137,7 @@ namespace PolyChat
|
||||
switch (type)
|
||||
{
|
||||
case "username":
|
||||
Debug.WriteLine($"! username change for {sendingPartner.Code} -> {content}");
|
||||
sendingPartner.SetName(Name);
|
||||
break;
|
||||
default:
|
||||
@@ -156,8 +158,8 @@ namespace PolyChat
|
||||
new ChatMessage(
|
||||
origin,
|
||||
item["type"].ToString(),
|
||||
item["content"].ToString(),
|
||||
DateTime.Parse(item["timestamp"].ToString())
|
||||
item["content"].ToString()//,
|
||||
//DateTime.Parse(item["timestamp"].ToString())
|
||||
)
|
||||
);
|
||||
}
|
||||
@@ -190,6 +192,7 @@ namespace PolyChat
|
||||
listViewMessages.ItemsSource = selectedPartner.Messages;
|
||||
selectedPartnerName.Text = selectedPartner.Name;
|
||||
updateNoChatSelected();
|
||||
if (!Controller.IsConnected(code)) Controller.Connect(code);
|
||||
}
|
||||
|
||||
private void OnKeyUp(object sender, Windows.UI.Xaml.Input.KeyRoutedEventArgs e)
|
||||
|
||||
@@ -1,14 +1,17 @@
|
||||
using SocketIOSharp.Server.Client;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.ComponentModel;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace PolyChat.Models
|
||||
{
|
||||
public class ChatPartner
|
||||
public class ChatPartner : INotifyPropertyChanged
|
||||
{
|
||||
public string Name;
|
||||
public string Code;
|
||||
public ObservableCollection<ChatMessage> Messages;
|
||||
private SocketIOSocket socketIOSocket;
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
|
||||
public ChatPartner(string name, string code, ObservableCollection<ChatMessage> messages = null)
|
||||
{
|
||||
@@ -20,6 +23,11 @@ namespace PolyChat.Models
|
||||
|
||||
public SocketIOSocket SocketIOSocket { get => socketIOSocket; set => socketIOSocket = value; }
|
||||
|
||||
private void NotifyPropertyChanged([CallerMemberName] string propertyName = "")
|
||||
{
|
||||
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
|
||||
}
|
||||
|
||||
public void AddMessage(ChatMessage message)
|
||||
{
|
||||
Messages.Add(message);
|
||||
@@ -28,6 +36,7 @@ namespace PolyChat.Models
|
||||
public void SetName(string name)
|
||||
{
|
||||
Name = name;
|
||||
NotifyPropertyChanged("Name");
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user