Chats now only try to connect, if they are opened
This commit is contained in:
@@ -146,9 +146,11 @@ namespace PolyChat
|
|||||||
|
|
||||||
private bool isInConnections(string IP)
|
private bool isInConnections(string IP)
|
||||||
{
|
{
|
||||||
if (Connections.ContainsKey(IP))
|
return Connections.ContainsKey(IP);
|
||||||
return true;
|
}
|
||||||
return false;
|
public bool IsConnected(string ip)
|
||||||
|
{
|
||||||
|
return Connections.ContainsKey(ip) && Connections[ip].IsConnected();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string getIP()
|
public static string getIP()
|
||||||
@@ -195,7 +197,6 @@ namespace PolyChat
|
|||||||
ip = ip.Substring(0, ip.Length - 4);
|
ip = ip.Substring(0, ip.Length - 4);
|
||||||
Debug.WriteLine($"-{ip}");
|
Debug.WriteLine($"-{ip}");
|
||||||
Debug.WriteLine(jsonArr);
|
Debug.WriteLine(jsonArr);
|
||||||
Connect(ip);
|
|
||||||
UIController.OnIncomingConnection(ip);
|
UIController.OnIncomingConnection(ip);
|
||||||
UIController.OnIncomingMessages(ip, jsonArr);
|
UIController.OnIncomingMessages(ip, jsonArr);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ using System.Threading.Tasks;
|
|||||||
using Windows.UI.Core;
|
using Windows.UI.Core;
|
||||||
using Windows.UI.Xaml;
|
using Windows.UI.Xaml;
|
||||||
using Windows.UI.Xaml.Controls;
|
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
|
// 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)
|
switch (type)
|
||||||
{
|
{
|
||||||
case "username":
|
case "username":
|
||||||
|
Debug.WriteLine($"! username change for {sendingPartner.Code} -> {content}");
|
||||||
sendingPartner.SetName(Name);
|
sendingPartner.SetName(Name);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -156,8 +158,8 @@ namespace PolyChat
|
|||||||
new ChatMessage(
|
new ChatMessage(
|
||||||
origin,
|
origin,
|
||||||
item["type"].ToString(),
|
item["type"].ToString(),
|
||||||
item["content"].ToString(),
|
item["content"].ToString()//,
|
||||||
DateTime.Parse(item["timestamp"].ToString())
|
//DateTime.Parse(item["timestamp"].ToString())
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -190,6 +192,7 @@ namespace PolyChat
|
|||||||
listViewMessages.ItemsSource = selectedPartner.Messages;
|
listViewMessages.ItemsSource = selectedPartner.Messages;
|
||||||
selectedPartnerName.Text = selectedPartner.Name;
|
selectedPartnerName.Text = selectedPartner.Name;
|
||||||
updateNoChatSelected();
|
updateNoChatSelected();
|
||||||
|
if (!Controller.IsConnected(code)) Controller.Connect(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnKeyUp(object sender, Windows.UI.Xaml.Input.KeyRoutedEventArgs e)
|
private void OnKeyUp(object sender, Windows.UI.Xaml.Input.KeyRoutedEventArgs e)
|
||||||
|
|||||||
@@ -1,14 +1,17 @@
|
|||||||
using SocketIOSharp.Server.Client;
|
using SocketIOSharp.Server.Client;
|
||||||
using System.Collections.ObjectModel;
|
using System.Collections.ObjectModel;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
|
||||||
namespace PolyChat.Models
|
namespace PolyChat.Models
|
||||||
{
|
{
|
||||||
public class ChatPartner
|
public class ChatPartner : INotifyPropertyChanged
|
||||||
{
|
{
|
||||||
public string Name;
|
public string Name;
|
||||||
public string Code;
|
public string Code;
|
||||||
public ObservableCollection<ChatMessage> Messages;
|
public ObservableCollection<ChatMessage> Messages;
|
||||||
private SocketIOSocket socketIOSocket;
|
private SocketIOSocket socketIOSocket;
|
||||||
|
public event PropertyChangedEventHandler PropertyChanged;
|
||||||
|
|
||||||
public ChatPartner(string name, string code, ObservableCollection<ChatMessage> messages = null)
|
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; }
|
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)
|
public void AddMessage(ChatMessage message)
|
||||||
{
|
{
|
||||||
Messages.Add(message);
|
Messages.Add(message);
|
||||||
@@ -28,6 +36,7 @@ namespace PolyChat.Models
|
|||||||
public void SetName(string name)
|
public void SetName(string name)
|
||||||
{
|
{
|
||||||
Name = name;
|
Name = name;
|
||||||
|
NotifyPropertyChanged("Name");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user