Demo contacts page.

This commit is contained in:
Burak Kaan Köse
2025-10-29 19:35:04 +01:00
parent 3db1fd0dde
commit b0ac6e4e55
25 changed files with 970 additions and 16 deletions
+22
View File
@@ -1,5 +1,6 @@
using System;
using System.Globalization;
using System.IO;
using System.Linq;
using CommunityToolkit.WinUI.Helpers;
using Microsoft.UI;
@@ -46,6 +47,27 @@ public static class XamlHelpers
public static bool ObjectEquals(object obj1, object obj2) => object.Equals(obj1, obj2);
public static Visibility CountToVisibilityConverter(int value) => value > 0 ? Visibility.Visible : Visibility.Collapsed;
public static Visibility CountToVisibilityConverterWithThreshold(int value, int threshold) => value > threshold ? Visibility.Visible : Visibility.Collapsed;
public static ListViewSelectionMode BoolToSelectionMode(bool isSelectionMode) => isSelectionMode ? ListViewSelectionMode.Multiple : ListViewSelectionMode.None;
public static string BoolToSelectionModeText(bool isSelectionMode) => isSelectionMode ? Translator.Buttons_Cancel : Translator.Buttons_Multiselect;
public static Microsoft.UI.Xaml.Media.Imaging.BitmapImage Base64ToBitmapImage(string base64String)
{
if (string.IsNullOrEmpty(base64String))
return null;
try
{
var imageBytes = Convert.FromBase64String(base64String);
using var stream = new System.IO.MemoryStream(imageBytes);
var bitmap = new Microsoft.UI.Xaml.Media.Imaging.BitmapImage();
bitmap.SetSource(stream.AsRandomAccessStream());
return bitmap;
}
catch
{
return null;
}
}
public static InfoBarSeverity InfoBarSeverityConverter(InfoBarMessageType messageType)
{
return messageType switch
@@ -7,6 +7,7 @@ namespace Wino.Core.WinUI.Selectors;
public partial class NavigationMenuTemplateSelector : DataTemplateSelector
{
public DataTemplate MenuItemTemplate { get; set; }
public DataTemplate ContactsMenuItemTemplate { get; set; }
public DataTemplate AccountManagementTemplate { get; set; }
public DataTemplate ClickableAccountMenuTemplate { get; set; }
public DataTemplate MergedAccountTemplate { get; set; }
@@ -27,6 +28,8 @@ public partial class NavigationMenuTemplateSelector : DataTemplateSelector
{
if (item is NewMailMenuItem)
return NewMailTemplate;
else if (item is ContactsMenuItem)
return ContactsMenuItemTemplate;
else if (item is SettingsItem)
return SettingsItemTemplate;
else if (item is SeperatorItem)
@@ -19,6 +19,7 @@ using Wino.Core.WinUI.Dialogs;
using Wino.Core.WinUI.Extensions;
using Wino.Dialogs;
using Wino.Messaging.Client.Shell;
using WinRT.Interop;
namespace Wino.Core.WinUI.Services;
@@ -52,6 +53,9 @@ public class DialogServiceBase : IDialogServiceBase
picker.FileTypeFilter.Add("*");
nint windowHandle = WindowNative.GetWindowHandle(WinoApplication.MainWindow);
InitializeWithWindow.Initialize(picker, windowHandle);
var folder = await picker.PickSingleFolderAsync();
if (folder == null) return string.Empty;
@@ -89,6 +93,9 @@ public class DialogServiceBase : IDialogServiceBase
picker.FileTypeFilter.Add(filter.ToString());
}
nint windowHandle = WindowNative.GetWindowHandle(WinoApplication.MainWindow);
InitializeWithWindow.Initialize(picker, windowHandle);
var files = await picker.PickMultipleFilesAsync();
if (files == null) return returnList;
@@ -115,6 +122,9 @@ public class DialogServiceBase : IDialogServiceBase
picker.FileTypeFilter.Add(filter.ToString());
}
nint windowHandle = WindowNative.GetWindowHandle(WinoApplication.MainWindow);
InitializeWithWindow.Initialize(picker, windowHandle);
var file = await picker.PickSingleFileAsync();
if (file == null) return null;
@@ -259,6 +269,9 @@ public class DialogServiceBase : IDialogServiceBase
picker.FileTypeFilter.Add("*");
nint windowHandle = WindowNative.GetWindowHandle(WinoApplication.MainWindow);
InitializeWithWindow.Initialize(picker, windowHandle);
var pickedFolder = await picker.PickSingleFolderAsync();
if (pickedFolder != null)
File diff suppressed because one or more lines are too long