瀏覽代碼

avalonia: Made DigitalFOrmDocumentFactory run; removed Video previewing

Kenric Nugteren 2 周之前
父節點
當前提交
325a231eae

+ 31 - 0
PRS.Avalonia/PRS.Avalonia/Components/FormsEditor/Fields/DFEmbeddedImageFieldControl.cs

@@ -3,6 +3,7 @@ using Avalonia.Media;
 using InABox.Avalonia;
 using InABox.Avalonia.Platform;
 using InABox.Core;
+using PRS.Avalonia.Components;
 using System;
 using System.Collections.Generic;
 using System.Linq;
@@ -33,6 +34,34 @@ class DFEmbeddedImageFieldControl : DFEmbeddedMediaFieldControl<DFLayoutEmbedded
         return control;
     }
 
+    protected override void ImageClicked()
+    {
+        if(_value.Thumbnail is null || _value.Thumbnail.Length == 0) return;
+
+        if(_value.Data is not null && _value.Data.Length > 0)
+        {
+            Navigation.Navigate<ImageViewerViewModel>(model =>
+            {
+                model.Data = _value.Data;
+                model.DeleteCommand = DeleteCommand;
+            });
+        }
+        else if(_value.ID != Guid.Empty)
+        {
+            DigitalFormDocumentFactory.LoadDocument(
+                _value.ID,
+                data =>
+                {
+                    _value.Data = data;
+                    Navigation.Navigate<ImageViewerViewModel>(model =>
+                    {
+                        model.Data = _value.Data;
+                        model.DeleteCommand = DeleteCommand;
+                    });
+                });
+        }
+    }
+
     private void RotateImage()
     {
         if(_value.Thumbnail != null)
@@ -44,6 +73,8 @@ class DFEmbeddedImageFieldControl : DFEmbeddedMediaFieldControl<DFLayoutEmbedded
             _value.Data = PlatformTools.ImageTools.RotateImage(_value.Data, 90F, 100);
         }
 
+        ChangeField();
+
         UpdateUI();
     }
 

+ 1 - 27
PRS.Avalonia/PRS.Avalonia/Components/FormsEditor/Fields/DFEmbeddedMediaFieldControl.cs

@@ -119,33 +119,7 @@ abstract partial class DFEmbeddedMediaFieldControl<TField, TProperties, TValue>
     protected abstract Task<MobileDocument> SelectMedia();
 
     [RelayCommand]
-    private void ImageClicked()
-    {
-        if(_value.Thumbnail is null || _value.Thumbnail.Length == 0) return;
-
-        if(_value.Data is not null && _value.Data.Length > 0)
-        {
-            Navigation.Navigate<ImageViewerViewModel>(model =>
-            {
-                model.Data = _value.Data;
-                model.DeleteCommand = DeleteCommand;
-            });
-        }
-        else if(_value.ID != Guid.Empty)
-        {
-            DigitalFormDocumentFactory.LoadDocument(
-                _value.ID,
-                data =>
-                {
-                    _value.Data = data;
-                    Navigation.Navigate<ImageViewerViewModel>(model =>
-                    {
-                        model.Data = _value.Data;
-                        model.DeleteCommand = DeleteCommand;
-                    });
-                });
-        }
-    }
+    protected abstract void ImageClicked();
 
     [RelayCommand]
     private void Delete()

+ 4 - 0
PRS.Avalonia/PRS.Avalonia/Components/FormsEditor/Fields/DFEmbeddedVideoFieldControl.cs

@@ -24,6 +24,10 @@ class DFEmbeddedVideoFieldControl : DFEmbeddedMediaFieldControl<DFLayoutVideoFie
         SetSerializedValue(new() { Data = value });
     }
 
+    protected override void ImageClicked()
+    {
+    }
+
     protected override Task<MobileDocument> CaptureMedia()
     {
         return MobileDocument.From(App.TopLevel, new MobileDocumentVideoOptions());

+ 1 - 0
PRS.Avalonia/PRS.Avalonia/DataAccessLayer.cs

@@ -30,6 +30,7 @@ public class DataAccessLayer : ObservableObject, IModelHost
             IsBackgroundUpdateStatusActive = b;
             BackgroundUpdateStatusChanged?.Invoke(this, EventArgs.Empty);
         }));
+        DigitalFormDocumentFactory.Run();
     }
 
     public ConnectionStatus Status