Skip to content

Commit

Permalink
Merge pull request #7 from Crequency/dev=main
Browse files Browse the repository at this point in the history
[Pull Request] 实现插件详情页
  • Loading branch information
Dynesshely authored Dec 2, 2022
2 parents 1e97084 + 360d380 commit d2b8dd1
Show file tree
Hide file tree
Showing 16 changed files with 557 additions and 11 deletions.
5 changes: 5 additions & 0 deletions App.axaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Markup.Xaml;
using Avalonia.Media;
using Avalonia.Media.Imaging;
using Common.BasicHelper.IO;
using Common.BasicHelper.Util;
using FluentAvalonia.Styling;
Expand All @@ -14,6 +15,7 @@
using LiveChartsCore.SkiaSharpView;
using Serilog;
using System;
using System.IO;
using System.Linq;
using System.Threading;

Expand Down Expand Up @@ -150,6 +152,9 @@ public override void OnFrameworkInitializationCompleted()

base.OnFrameworkInitializationCompleted();
}

public static Bitmap DefaultIcon = new(Path.GetFullPath(
$"{GlobalInfo.AssetsPath}{Program.Config.App.CoverIconFileName}"));
}
}

Expand Down
10 changes: 10 additions & 0 deletions Languages/en-us.axaml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,16 @@
<x:String x:Key="Text_PluginBar_ComplexDescription">Complex Description:</x:String>
<x:String x:Key="Text_PluginBar_TotalDescriptionInMarkdown">Docs:</x:String>
<x:String x:Key="Text_PluginBar_RootStartupFileName">Root Startup File Name:</x:String>
<x:String x:Key="Text_Plugin_Version">Version:</x:String>
<x:String x:Key="Text_Plugin_AuthorName">Author:</x:String>
<x:String x:Key="Text_Plugin_PublisherName">Publisher:</x:String>
<x:String x:Key="Text_Plugin_PublishDate">Publish Date:</x:String>
<x:String x:Key="Text_Plugin_LastUpdateDate">Last Update Date:</x:String>
<x:String x:Key="Text_Plugin_IsMarketVersion">Is Market Version:</x:String>
<x:String x:Key="Text_Plugin_TotalDescriptionInMarkdown">Docs</x:String>
<x:String x:Key="Text_Plugin_RootStartupFileName">Root Startup File Name:</x:String>
<x:String x:Key="Text_Plugin_Functions">Functions List</x:String>
<x:String x:Key="Text_Plugin_Tags">Tags</x:String>
<x:String x:Key="Text_Device_No">No other devices in network.</x:String>
<x:String x:Key="Text_Device_This">This Device</x:String>
<x:String x:Key="Text_Device_Type_Slave">Slave</x:String>
Expand Down
10 changes: 10 additions & 0 deletions Languages/fr-fr.axaml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,16 @@
<x:String x:Key="Text_PluginBar_ComplexDescription">décris:</x:String>
<x:String x:Key="Text_PluginBar_TotalDescriptionInMarkdown">Documentation:</x:String>
<x:String x:Key="Text_PluginBar_RootStartupFileName">nom de fichier racine de départ:</x:String>
<x:String x:Key="Text_Plugin_Version">Version:</x:String>
<x:String x:Key="Text_Plugin_AuthorName">auteur:</x:String>
<x:String x:Key="Text_Plugin_PublisherName">Éditeur:</x:String>
<x:String x:Key="Text_Plugin_PublishDate">Date de publication:</x:String>
<x:String x:Key="Text_Plugin_LastUpdateDate">Date de la dernière mise à jour:</x:String>
<x:String x:Key="Text_Plugin_IsMarketVersion">Est-ce la version commerciale:</x:String>
<x:String x:Key="Text_Plugin_TotalDescriptionInMarkdown">Documentation</x:String>
<x:String x:Key="Text_Plugin_RootStartupFileName">Nom du fichier racine de démarrage:</x:String>
<x:String x:Key="Text_Plugin_Functions">Liste des fonctions</x:String>
<x:String x:Key="Text_Plugin_Tags">Balises</x:String>
<x:String x:Key="Text_Device_No">Aucun autre appareil sur le réseau</x:String>
<x:String x:Key="Text_Device_This">cet appareil</x:String>
<x:String x:Key="Text_Device_Type_Slave">trimer</x:String>
Expand Down
10 changes: 10 additions & 0 deletions Languages/ja-jp.axaml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,16 @@
<x:String x:Key="Text_PluginBar_ComplexDescription">説明:</x:String>
<x:String x:Key="Text_PluginBar_TotalDescriptionInMarkdown">ドキュメンテーション:</x:String>
<x:String x:Key="Text_PluginBar_RootStartupFileName">ルートファイル名の開始:</x:String>
<x:String x:Key="Text_Plugin_Version">バージョン:</x:String>
<x:String x:Key="Text_Plugin_AuthorName">著者:</x:String>
<x:String x:Key="Text_Plugin_PublisherName">出版社:</x:String>
<x:String x:Key="Text_Plugin_PublishDate">公開日:</x:String>
<x:String x:Key="Text_Plugin_LastUpdateDate">最終更新日:</x:String>
<x:String x:Key="Text_Plugin_IsMarketVersion">市場バージョンですか:</x:String>
<x:String x:Key="Text_Plugin_TotalDescriptionInMarkdown">ドキュメント</x:String>
<x:String x:Key="Text_Plugin_RootStartupFileName">開始ルート ファイル名:</x:String>
<x:String x:Key="Text_Plugin_Functions">関数リスト</x:String>
<x:String x:Key="Text_Plugin_Tags">タグ</x:String>
<x:String x:Key="Text_Device_No">ネットワーク上に他のデバイスがない</x:String>
<x:String x:Key="Text_Device_This">この装置</x:String>
<x:String x:Key="Text_Device_Type_Slave">Slave</x:String>
Expand Down
10 changes: 10 additions & 0 deletions Languages/ko-kr.axaml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,16 @@
<x:String x:Key="Text_PluginBar_ComplexDescription">설명하다:</x:String>
<x:String x:Key="Text_PluginBar_TotalDescriptionInMarkdown">선적 서류 비치:</x:String>
<x:String x:Key="Text_PluginBar_RootStartupFileName">시작 루트 파일 이름:</x:String>
<x:String x:Key="Text_Plugin_Version">버전:</x:String>
<x:String x:Key="Text_Plugin_AuthorName">작가:</x:String>
<x:String x:Key="Text_Plugin_PublisherName">발행자:</x:String>
<x:String x:Key="Text_Plugin_PublishDate">게시일:</x:String>
<x:String x:Key="Text_Plugin_LastUpdateDate">마지막 업데이트 날짜:</x:String>
<x:String x:Key="Text_Plugin_IsMarketVersion">마켓 버전인가요:</x:String>
<x:String x:Key="Text_Plugin_TotalDescriptionInMarkdown">문서</x:String>
<x:String x:Key="Text_Plugin_RootStartupFileName">시작 루트 파일 이름:</x:String>
<x:String x:Key="Text_Plugin_Functions">함수 목록</x:String>
<x:String x:Key="Text_Plugin_Tags">태그</x:String>
<x:String x:Key="Text_Device_No">네트워크에 다른 장치 없음</x:String>
<x:String x:Key="Text_Device_This">이 기기</x:String>
<x:String x:Key="Text_Device_Type_Slave">노예</x:String>
Expand Down
10 changes: 10 additions & 0 deletions Languages/ru-ru.axaml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,16 @@
<x:String x:Key="Text_PluginBar_ComplexDescription">описывать:</x:String>
<x:String x:Key="Text_PluginBar_TotalDescriptionInMarkdown">Документация:</x:String>
<x:String x:Key="Text_PluginBar_RootStartupFileName">начальное корневое имя файла:</x:String>
<x:String x:Key="Text_Plugin_Version">Версия:</x:String>
<x:String x:Key="Text_Plugin_AuthorName">автор:</x:String>
<x:String x:Key="Text_Plugin_PublisherName">Издатель:</x:String>
<x:String x:Key="Text_Plugin_PublishDate">Дата публикации:</x:String>
<x:String x:Key="Text_Plugin_LastUpdateDate">Дата последнего обновления:</x:String>
<x:String x:Key="Text_Plugin_IsMarketVersion">Это рыночная версия:</x:String>
<x:String x:Key="Text_Plugin_TotalDescriptionInMarkdown">Документация</x:String>
<x:String x:Key="Text_Plugin_RootStartupFileName">Имя начального корневого файла:</x:String>
<x:String x:Key="Text_Plugin_Functions">Список функций</x:String>
<x:String x:Key="Text_Plugin_Tags">Теги</x:String>
<x:String x:Key="Text_Device_No">Нет других устройств в сети</x:String>
<x:String x:Key="Text_Device_This">это устройство</x:String>
<x:String x:Key="Text_Device_Type_Slave">раб</x:String>
Expand Down
10 changes: 10 additions & 0 deletions Languages/zh-cn.axaml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,16 @@
<x:String x:Key="Text_PluginBar_ComplexDescription">描述:</x:String>
<x:String x:Key="Text_PluginBar_TotalDescriptionInMarkdown">文档:</x:String>
<x:String x:Key="Text_PluginBar_RootStartupFileName">起始根文件名:</x:String>
<x:String x:Key="Text_Plugin_Version">版本:</x:String>
<x:String x:Key="Text_Plugin_AuthorName">作者:</x:String>
<x:String x:Key="Text_Plugin_PublisherName">发行商:</x:String>
<x:String x:Key="Text_Plugin_PublishDate">发布日期:</x:String>
<x:String x:Key="Text_Plugin_LastUpdateDate">最后更新日期:</x:String>
<x:String x:Key="Text_Plugin_IsMarketVersion">是否是市场版本:</x:String>
<x:String x:Key="Text_Plugin_TotalDescriptionInMarkdown">文档</x:String>
<x:String x:Key="Text_Plugin_RootStartupFileName">起始根文件名:</x:String>
<x:String x:Key="Text_Plugin_Functions">功能列表</x:String>
<x:String x:Key="Text_Plugin_Tags">标记</x:String>
<x:String x:Key="Text_Device_No">网络中没有其它设备</x:String>
<x:String x:Key="Text_Device_This">此设备</x:String>
<x:String x:Key="Text_Device_Type_Slave">从控</x:String>
Expand Down
10 changes: 10 additions & 0 deletions Languages/zh-tw.axaml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,16 @@
<x:String x:Key="Text_PluginBar_ComplexDescription">描述:</x:String>
<x:String x:Key="Text_PluginBar_TotalDescriptionInMarkdown">文檔:</x:String>
<x:String x:Key="Text_PluginBar_RootStartupFileName">起始根文件名:</x:String>
<x:String x:Key="Text_Plugin_Version">版本:</x:String>
<x:String x:Key="Text_Plugin_AuthorName">作者:</x:String>
<x:String x:Key="Text_Plugin_PublisherName">發行商:</x:String>
<x:String x:Key="Text_Plugin_PublishDate">發行日期:</x:String>
<x:String x:Key="Text_Plugin_LastUpdateDate">最後更新日期:</x:String>
<x:String x:Key="Text_Plugin_IsMarketVersion">是否是市場版本:</x:String>
<x:String x:Key="Text_Plugin_TotalDescriptionInMarkdown">文檔</x:String>
<x:String x:Key="Text_Plugin_RootStartupFileName">起始根文件名:</x:String>
<x:String x:Key="Text_Plugin_Functions">功能列表</x:String>
<x:String x:Key="Text_Plugin_Tags">標記</x:String>
<x:String x:Key="Text_Device_No">網路中空無一物</x:String>
<x:String x:Key="Text_Device_This">本機</x:String>
<x:String x:Key="Text_Device_Type_Slave">從控</x:String>
Expand Down
18 changes: 17 additions & 1 deletion Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
using Avalonia.ReactiveUI;
using KitX_Dashboard.Data;
using KitX_Dashboard.Services;
using KitX_Dashboard.Views;
using KitX_Dashboard.Views.Pages.Controls;
using LiteDB;
using System;
Expand All @@ -28,6 +29,8 @@ internal class Program

internal static LiteDatabase? ActivitiesDataBase;

internal static MainWindow? MainWindow;

/// <summary>
/// 主函数, 应用程序入口; 展开 summary 查看警告
/// </summary>
Expand Down Expand Up @@ -143,7 +146,20 @@ public static void Main(string[] args)
/// Avalonia configuration, don't remove; also used by visual designer.
/// Avalonia 配置项, 请不要删除; 同时也用于可视化设计器
public static AppBuilder BuildAvaloniaApp() => AppBuilder.Configure<App>()
.UsePlatformDetect().LogToTrace().UseReactiveUI();
.UsePlatformDetect().LogToTrace().UseReactiveUI()
.With(new Win32PlatformOptions
{
UseWindowsUIComposition = true,
EnableMultitouch = true
})
.With(new MacOSPlatformOptions
{
ShowInDock = true
})
.With(new X11PlatformOptions
{
EnableMultiTouch = true
});
}
}

Expand Down
21 changes: 13 additions & 8 deletions ViewModels/Pages/Controls/PluginBarViewModel.cs
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
using KitX_Dashboard.Commands;
using Avalonia.Controls;
using Avalonia.Media.Imaging;
using KitX_Dashboard.Commands;
using KitX_Dashboard.Data;
using KitX_Dashboard.Models;
using KitX_Dashboard.Services;
using KitX_Dashboard.Views;
using KitX_Dashboard.Views.Pages.Controls;
using Serilog;
using System;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Threading;

Expand All @@ -22,7 +24,6 @@ public PluginBarViewModel()
InitEvents();
}


internal void InitCommands()
{
ViewDetailsCommand = new(ViewDetails);
Expand Down Expand Up @@ -74,15 +75,13 @@ internal Bitmap IconDisplay
using var ms = new MemoryStream(src);
return new(ms);
}
else return new($"{GlobalInfo.AssetsPath}" +
$"{Program.Config.App.CoverIconFileName}");
else return App.DefaultIcon;
}
catch (Exception e)
{
Log.Warning($"Icon transform error from base64 to byte[] or " +
$"create bitmap from MemoryStream error: {e.Message}");
return new($"{GlobalInfo.AssetsPath}" +
$"{Program.Config.App.CoverIconFileName}");
return App.DefaultIcon;
}
}
}
Expand All @@ -101,7 +100,13 @@ internal Bitmap IconDisplay
/// <param name="_"></param>
internal void ViewDetails(object _)
{

if (PluginDetail != null && Program.MainWindow != null)
new PluginDetailWindow()
{
WindowStartupLocation = WindowStartupLocation.CenterOwner
}
.SetPluginStruct(PluginDetail.PluginDetails)
.Show(Program.MainWindow);
}

/// <summary>
Expand Down
2 changes: 1 addition & 1 deletion ViewModels/Pages/Controls/PluginCardViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ internal Bitmap IconDisplay
{
Log.Warning($"Icon transform error from base64 to byte[] or " +
$"create bitmap from MemoryStream error: {e.Message}");
return new($"{GlobalInfo.AssetsPath}{Program.Config.App.CoverIconFileName}");
return App.DefaultIcon;
}
}
}
Expand Down
Loading

0 comments on commit d2b8dd1

Please sign in to comment.