From 1cfc85640780092d669777aad303fcbbff98e282 Mon Sep 17 00:00:00 2001 From: Lyndon Date: Mon, 23 Mar 2026 16:11:06 +0100 Subject: [PATCH] Bilder werden wieder angezeigt --- ChatController/ChatKlassen/ChatMessage.cs | 2 +- ChatController/ChatMainControl.xaml.cs | 42 +++++-------------- ChatController/HauptKlassen/Chat.cs | 21 +++++----- ChatController/HauptKlassen/Login.cs | 4 -- ChatController/LoginControl.xaml.cs | 2 +- ChatController/LoginKlassen/UserMessages.cs | 6 ++- .../Utilities/ChatMessageFileWrapper.cs | 9 ++-- ChatController/Utilities/Utils.cs | 6 ++- 8 files changed, 35 insertions(+), 57 deletions(-) diff --git a/ChatController/ChatKlassen/ChatMessage.cs b/ChatController/ChatKlassen/ChatMessage.cs index a0d9367..aa20759 100644 --- a/ChatController/ChatKlassen/ChatMessage.cs +++ b/ChatController/ChatKlassen/ChatMessage.cs @@ -70,7 +70,7 @@ namespace ChatController.ChatKlassen OriginalImage = originalImage; OriginalImageName = imageName; - if(MessageId == 0 && MessageType == ChatMessageType.Image && !(logo is null)) + if(MessageId == 0 && MessageType == ChatMessageType.Image && false == logo is null) { PictureSource = logo; PicturePlaceholderHeight = (int) logo.Height; diff --git a/ChatController/ChatMainControl.xaml.cs b/ChatController/ChatMainControl.xaml.cs index e86b914..e9ade47 100644 --- a/ChatController/ChatMainControl.xaml.cs +++ b/ChatController/ChatMainControl.xaml.cs @@ -295,7 +295,7 @@ namespace ChatController var contact = _ContactList.FirstOrDefault(a => a.Contact.GroupId == pGroupId); - if(!(contact is null)) + if(false == contact is null) { notificationIcon = Utils.ImageSourceToIcon(contact.Contact.Image); } @@ -396,7 +396,7 @@ namespace ChatController _ScrollPrueferAktivieren = false; - if(contact?.HasUnreadMessages ?? false) + if((bool) contact?.HasUnreadMessages) { contact.HasUnreadMessages = false; @@ -404,22 +404,20 @@ namespace ChatController OnPropertyChanged(nameof(ContactList)); } - var currentContact = contact; - contact.IsNewMessage = false; var shouldChangeIcon = _ContactList.Any(contactDependencyObject => contactDependencyObject?.Contact?.IsNewMessage ?? false); - if(shouldChangeIcon && ContainingWindow != null) + if(shouldChangeIcon && false == ContainingWindow is null) { ContainingWindow.Icon = Utils.ConvertIconToImageSource(Resource.ownchat_favicon); } - CurrentContact = currentContact; + CurrentContact = contact; OnPropertyChanged(nameof(IsSendButtonEnabled)); - if(!(Clientlist is null)) + if(false == Clientlist is null) { foreach(var obj in Clientlist.Items) { @@ -433,7 +431,7 @@ namespace ChatController _ChatMessages?.Clear(); OnPropertyChanged(nameof(_ChatMessages)); - Chat?.LoadChatMessagesForContactAsync(currentContact, GetFirstMessage(), chatMessages => + Chat?.LoadChatMessagesForContactAsync(contact, GetFirstMessage(), chatMessages => { this.Dispatch(() => { @@ -656,7 +654,7 @@ namespace ChatController return; } - StartWaitingImmediately("Skaliere Bild ..."); + StartWaitingImmediately("Skaliere Bild..."); var scalingTask = new Task(() => { @@ -745,7 +743,7 @@ namespace ChatController { _ChatMessageFileWrapper = value; - OnPropertyChanged(nameof(ChatMessageFileWrapper)); + OnPropertyChanged(); OnPropertyChanged(nameof(IsSendButtonEnabled)); OnPropertyChanged(nameof(FilePreviewGridVisibility)); OnPropertyChanged(nameof(ChatListBoxVisibility)); @@ -781,23 +779,6 @@ namespace ChatController private void Chatbox_OnKeyDownHandler(object sender, KeyEventArgs e) { - //if (e.Key == Key.Return) - //{ - // if(CurrentContact != null && !string.IsNullOrEmpty(Chatbox.Text)) - // { - // Chat.AddNewMessage(Chatbox.Text, CurrentContact.GroupId); - - // OnPropertyChanged(nameof(CurrentChatMessages)); - - // ChatListBox.Items.MoveCurrentToLast(); - // ChatListBox.ScrollIntoView(ChatListBox.Items.CurrentItem); - - // Chat.SendMessage(Chatbox.Text, CurrentContact.GroupId); - - // Chatbox.Text = string.Empty; - // } - //} - OnPropertyChanged(nameof(IsBroadcastButtonEnabled)); OnPropertyChanged(nameof(IsSendButtonEnabled)); } @@ -934,13 +915,12 @@ namespace ChatController var userOid = Chat.ChatDaten.LoggedInUser.Response.User.Oid; var senderId = contactDependencyObject.Contact.ReceivedMessage?.UserId; - var receiverId = userOid; var receiverGroupId = newContact.GroupId; var selectedGroupId = selectedContact?.GroupId; - if(senderId != receiverId && (_IsInBackground || receiverGroupId != selectedGroupId)) + if(senderId != userOid && (_IsInBackground || receiverGroupId != selectedGroupId)) { - if(!(ContainingWindow is null)) + if(false == ContainingWindow is null) { ContainingWindow.Icon = Utils.ConvertIconToImageSource(Resource.oC_favico_NewMessage); } @@ -949,7 +929,7 @@ namespace ChatController } // Wenn der momentan ausgewählte Kontakt der aktuelle Kontakt in der Schleife ist, werden die Nachrichten nicht als ungelesen angezeigt, sonst schon. - if(!(CurrentContact is null) && newContact.GroupId == CurrentContact.GroupId) + if(false == CurrentContact is null && newContact.GroupId == CurrentContact.GroupId) { contactDependencyObject.Contact.HasUnreadMessages = false; } diff --git a/ChatController/HauptKlassen/Chat.cs b/ChatController/HauptKlassen/Chat.cs index 61f9ecb..f72e7f8 100644 --- a/ChatController/HauptKlassen/Chat.cs +++ b/ChatController/HauptKlassen/Chat.cs @@ -13,6 +13,7 @@ using System.Net.Http; using System.Runtime.CompilerServices; using System.Threading; using System.Threading.Tasks; +using System.Web.UI.WebControls; using System.Windows; using System.Windows.Controls; using System.Windows.Data; @@ -88,7 +89,7 @@ namespace ChatController.HauptKlassen // Führt zu doppelter neuester Nachricht, wenn man vorher eine verschickt hat! public void LoadChatMessagesForContactAsync(Contact contact, ChatMessage previousMessage, Action> callback) { - if(!(contact is null)) + if(false == contact is null) { LoadMessagesFromServerAsync(contact.GroupId, delegate { @@ -946,14 +947,14 @@ namespace ChatController.HauptKlassen var clientZone = TimeZoneInfo.Local; var formattedTime = TimeZoneInfo.ConvertTimeFromUtc(time, clientZone); - var isLoggedInUsersMessage = !(ChatDaten.Userid is null) && message.UserId == ChatDaten.Userid.Value; - var messageText = message.Text ?? (string.IsNullOrEmpty(message.File) ? string.Empty : message.OriginalFilename); + var isLoggedInUsersMessage = false == ChatDaten.Userid is null && message.UserId == ChatDaten.Userid.Value; + var messageText = message.Text ?? (string.IsNullOrEmpty(message.FileProtected) ? string.Empty : message.OriginalFilename); - if(!string.IsNullOrEmpty(message.File)) + if(false == string.IsNullOrEmpty(message.FileProtected)) { - var message2Add = Constants.ImageFileExtensions.Contains(Path.GetExtension(message.File).ToUpperInvariant()) ? //SmallerImage ist null - new ChatMessage(message.GroupId, message.Id, message.UserName, messageText, formattedTime, isLoggedInUsersMessage, message.FileSize, message.SmallerImage, message.File, message.OriginalFilename, null, null, ChatMessageType.Image, message.UserId) : - new ChatMessage(message.GroupId, message.Id, message.UserName, messageText, formattedTime, isLoggedInUsersMessage, 0, message.File, null, null, message.SmallerImage, null, ChatMessageType.Document, message.UserId); + var message2Add = Constants.ImageFileExtensions.Contains(Path.GetExtension(message.FileProtected).ToUpperInvariant()) ? //SmallerImage ist null + new ChatMessage(message.GroupId, message.Id, message.UserName, messageText, formattedTime, isLoggedInUsersMessage, message.FileSize, message.SmallerImage, message.FileProtected, message.OriginalFilename, null, null, ChatMessageType.Image, message.UserId) : + new ChatMessage(message.GroupId, message.Id, message.UserName, messageText, formattedTime, isLoggedInUsersMessage, 0, message.FileProtected, null, null, message.SmallerImage, null, ChatMessageType.Document, message.UserId); result.AddIfNotIn(message2Add); } @@ -975,9 +976,7 @@ namespace ChatController.HauptKlassen chatMessages = new List(); } - var test = chatMessages.Any(a => a is null); - - var messagesWithoutSeparators = chatMessages.Where(message => !message.IsSeparator).OrderBy(message => message.SendTime).ToList(); + var messagesWithoutSeparators = chatMessages.Where(message => message != null && false == message.IsSeparator).OrderBy(message => message.SendTime).ToList(); var separators = new List(); @@ -985,7 +984,7 @@ namespace ChatController.HauptKlassen foreach(var message in messagesWithoutSeparators.OrderBy(message => message.SendTime)) { - if(!message.Equals(previousMessage) && !(previousMessage is null)) + if(false == message.Equals(previousMessage) && false == previousMessage is null) { if(message.SendTime.Date != previousMessage.SendTime.Date) { diff --git a/ChatController/HauptKlassen/Login.cs b/ChatController/HauptKlassen/Login.cs index 71bce79..46a338f 100644 --- a/ChatController/HauptKlassen/Login.cs +++ b/ChatController/HauptKlassen/Login.cs @@ -3,10 +3,6 @@ using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Net; -using System.Net.Http; -using System.Net.Security; -using System.Security.Cryptography.X509Certificates; -using System.Threading.Tasks; using System.Web; using System.Windows; using ChatController.Core; diff --git a/ChatController/LoginControl.xaml.cs b/ChatController/LoginControl.xaml.cs index b4a2c56..01ba2e5 100644 --- a/ChatController/LoginControl.xaml.cs +++ b/ChatController/LoginControl.xaml.cs @@ -211,7 +211,7 @@ namespace ChatController } var debugFile = @"C:\Users\Lyndon\Documents\ownchat-desktop-debug-info.txt"; - if (File.Exists(debugFile)) + if(File.Exists(debugFile)) { using(var streamReader2 = new StreamReader(debugFile, true)) { diff --git a/ChatController/LoginKlassen/UserMessages.cs b/ChatController/LoginKlassen/UserMessages.cs index 72711cb..3587159 100644 --- a/ChatController/LoginKlassen/UserMessages.cs +++ b/ChatController/LoginKlassen/UserMessages.cs @@ -1,5 +1,4 @@ -using System; -using Newtonsoft.Json; +using Newtonsoft.Json; namespace ChatController.LoginKlassen { @@ -50,6 +49,9 @@ namespace ChatController.LoginKlassen [JsonProperty("file")] public string File { get; set; } + [JsonProperty("file_protected")] + public string FileProtected { get; set; } + [JsonProperty("original_filename")] public string OriginalFilename { get; set; } diff --git a/ChatController/Utilities/ChatMessageFileWrapper.cs b/ChatController/Utilities/ChatMessageFileWrapper.cs index 16d5182..da2b0bc 100644 --- a/ChatController/Utilities/ChatMessageFileWrapper.cs +++ b/ChatController/Utilities/ChatMessageFileWrapper.cs @@ -5,7 +5,6 @@ using System.Runtime.CompilerServices; using System.Windows.Media; using System.Windows.Media.Imaging; using ChatController.Annotations; -using ChatController.Core; namespace ChatController.Utilities { @@ -20,7 +19,7 @@ namespace ChatController.Utilities set { _OriginalFilePath = value; - OnPropertyChanged(nameof(OriginalFilePath)); + OnPropertyChanged(); OnPropertyChanged(nameof(FileName)); } } @@ -32,7 +31,7 @@ namespace ChatController.Utilities set { _ScaledFilePath = value; - OnPropertyChanged(nameof(ScaledFilePath)); + OnPropertyChanged(); } } @@ -44,7 +43,7 @@ namespace ChatController.Utilities private set { _ChatMessageImageSource = value; - OnPropertyChanged(nameof(ChatMessageImageSource)); + OnPropertyChanged(); } } @@ -55,7 +54,7 @@ namespace ChatController.Utilities var uri = new Uri(scaledFilePath); - if (Constants.ImageFileExtensions.Contains(Path.GetExtension(scaledFilePath).ToUpperInvariant()) && uri.IsFile) + if(Constants.ImageFileExtensions.Contains(Path.GetExtension(scaledFilePath).ToUpperInvariant()) && uri.IsFile) { var bitmap = new BitmapImage(uri); bitmap.Freeze(); diff --git a/ChatController/Utilities/Utils.cs b/ChatController/Utilities/Utils.cs index 01f2e89..3cf0484 100644 --- a/ChatController/Utilities/Utils.cs +++ b/ChatController/Utilities/Utils.cs @@ -36,6 +36,8 @@ namespace ChatController.Utilities } } + private static readonly object _Lock = new object(); + /// /// Lädt ein Bild aus einer Nachricht herunter. /// @@ -80,7 +82,7 @@ namespace ChatController.Utilities request.AddHeader(Constants.Token, AuthToken); request.AddHeader(Constants.CustomerId, Tenant); - client.ExecuteAsync(request, null); + client.ExecuteAsync(request, (a,b)=>{}); } private static Rotation GetRotationFromExifTag(int value) @@ -110,7 +112,7 @@ namespace ChatController.Utilities var cachedImage = cache.GetImageSourceFromCache(key, uri, cacheCategory); - if(!(cachedImage is null)) + if(false == cachedImage is null) { callback?.Invoke(cachedImage); return;