Finished designing LibraryManager.
|
Before Width: | Height: | Size: 264 KiB After Width: | Height: | Size: 264 KiB |
@@ -54,6 +54,8 @@ Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "DummyInstaller", "Windows\I
|
|||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SetupBA", "Windows\Installer\SetupBA\SetupBA.csproj", "{33C378F9-36C5-4C2C-8350-FD1C8DD5AB66}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SetupBA", "Windows\Installer\SetupBA\SetupBA.csproj", "{33C378F9-36C5-4C2C-8350-FD1C8DD5AB66}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OrbisLibraryManager", "OrbisLibraryManager\OrbisLibraryManager.csproj", "{4CF615D4-CEA0-42B4-BAF8-0B9B487D48BC}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
@@ -226,6 +228,22 @@ Global
|
|||||||
{33C378F9-36C5-4C2C-8350-FD1C8DD5AB66}.Release|x64.Build.0 = Release|Any CPU
|
{33C378F9-36C5-4C2C-8350-FD1C8DD5AB66}.Release|x64.Build.0 = Release|Any CPU
|
||||||
{33C378F9-36C5-4C2C-8350-FD1C8DD5AB66}.Release|x86.ActiveCfg = Release|Any CPU
|
{33C378F9-36C5-4C2C-8350-FD1C8DD5AB66}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
{33C378F9-36C5-4C2C-8350-FD1C8DD5AB66}.Release|x86.Build.0 = Release|Any CPU
|
{33C378F9-36C5-4C2C-8350-FD1C8DD5AB66}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{4CF615D4-CEA0-42B4-BAF8-0B9B487D48BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{4CF615D4-CEA0-42B4-BAF8-0B9B487D48BC}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{4CF615D4-CEA0-42B4-BAF8-0B9B487D48BC}.Debug|Win32.ActiveCfg = Debug|Any CPU
|
||||||
|
{4CF615D4-CEA0-42B4-BAF8-0B9B487D48BC}.Debug|Win32.Build.0 = Debug|Any CPU
|
||||||
|
{4CF615D4-CEA0-42B4-BAF8-0B9B487D48BC}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{4CF615D4-CEA0-42B4-BAF8-0B9B487D48BC}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{4CF615D4-CEA0-42B4-BAF8-0B9B487D48BC}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{4CF615D4-CEA0-42B4-BAF8-0B9B487D48BC}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{4CF615D4-CEA0-42B4-BAF8-0B9B487D48BC}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{4CF615D4-CEA0-42B4-BAF8-0B9B487D48BC}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{4CF615D4-CEA0-42B4-BAF8-0B9B487D48BC}.Release|Win32.ActiveCfg = Release|Any CPU
|
||||||
|
{4CF615D4-CEA0-42B4-BAF8-0B9B487D48BC}.Release|Win32.Build.0 = Release|Any CPU
|
||||||
|
{4CF615D4-CEA0-42B4-BAF8-0B9B487D48BC}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{4CF615D4-CEA0-42B4-BAF8-0B9B487D48BC}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{4CF615D4-CEA0-42B4-BAF8-0B9B487D48BC}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{4CF615D4-CEA0-42B4-BAF8-0B9B487D48BC}.Release|x86.Build.0 = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
@@ -244,6 +262,7 @@ Global
|
|||||||
{0978D0B2-FFA5-42B2-81AC-0CFD85DE9184} = {6046C772-BE17-4BC8-A362-AD8C77F9178E}
|
{0978D0B2-FFA5-42B2-81AC-0CFD85DE9184} = {6046C772-BE17-4BC8-A362-AD8C77F9178E}
|
||||||
{A37095E9-80BD-4A6B-AF8B-33D278CF92F3} = {6046C772-BE17-4BC8-A362-AD8C77F9178E}
|
{A37095E9-80BD-4A6B-AF8B-33D278CF92F3} = {6046C772-BE17-4BC8-A362-AD8C77F9178E}
|
||||||
{33C378F9-36C5-4C2C-8350-FD1C8DD5AB66} = {6046C772-BE17-4BC8-A362-AD8C77F9178E}
|
{33C378F9-36C5-4C2C-8350-FD1C8DD5AB66} = {6046C772-BE17-4BC8-A362-AD8C77F9178E}
|
||||||
|
{4CF615D4-CEA0-42B4-BAF8-0B9B487D48BC} = {8F0E1457-FB1E-47A4-9DA8-74A6B757CAA4}
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
SolutionGuid = {4B6EE1D0-5ADF-44A2-B6EE-E5C8E110EE47}
|
SolutionGuid = {4B6EE1D0-5ADF-44A2-B6EE-E5C8E110EE47}
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
<Application x:Class="OrbisLibraryManager.App"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:local="clr-namespace:OrbisLibraryManager"
|
||||||
|
StartupUri="OrbisLibraryManager.xaml"
|
||||||
|
xmlns:skins="clr-namespace:SimpleUI.Skins;assembly=SimpleUI">
|
||||||
|
<Application.Resources>
|
||||||
|
<ResourceDictionary>
|
||||||
|
<ResourceDictionary.MergedDictionaries>
|
||||||
|
<!-- SimpleUI -->
|
||||||
|
<skins:SkinResourceDictionary/>
|
||||||
|
<ResourceDictionary Source="/SimpleUI;component/Styles/CustomStyles.xaml"/>
|
||||||
|
</ResourceDictionary.MergedDictionaries>
|
||||||
|
</ResourceDictionary>
|
||||||
|
</Application.Resources>
|
||||||
|
</Application>
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Configuration;
|
||||||
|
using System.Data;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows;
|
||||||
|
|
||||||
|
namespace OrbisLibraryManager
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Interaction logic for App.xaml
|
||||||
|
/// </summary>
|
||||||
|
public partial class App : Application
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
using System.Windows;
|
||||||
|
|
||||||
|
[assembly: ThemeInfo(
|
||||||
|
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
|
||||||
|
//(used if a resource is not found in the page,
|
||||||
|
// or application resource dictionaries)
|
||||||
|
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
|
||||||
|
//(used if a resource is not found in the page,
|
||||||
|
// app, or any theme specific resource dictionaries)
|
||||||
|
)]
|
||||||
@@ -0,0 +1,83 @@
|
|||||||
|
<UserControl x:Class="OrbisLibraryManager.Controls.CurrentTargetDisplay"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
|
xmlns:local="clr-namespace:OrbisLibraryManager.Controls"
|
||||||
|
mc:Ignorable="d"
|
||||||
|
d:DesignHeight="70" d:DesignWidth="240">
|
||||||
|
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="70"/>
|
||||||
|
<ColumnDefinition/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="70"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
|
<!-- Current Title Image -->
|
||||||
|
<Border Grid.Column="0" Grid.Row="1"
|
||||||
|
BorderThickness="1"
|
||||||
|
BorderBrush="#333333"
|
||||||
|
Margin="8">
|
||||||
|
|
||||||
|
<Image Name="CurrentTargetTitleImage"
|
||||||
|
Source="/OrbisLibraryManager;component/Images/DefaultTitleIcon.png"
|
||||||
|
RenderOptions.BitmapScalingMode="Fant"
|
||||||
|
RenderOptions.EdgeMode="Aliased"
|
||||||
|
MouseDown="CurrentTargetTitleImage_MouseDown"/>
|
||||||
|
</Border>
|
||||||
|
|
||||||
|
<StackPanel Grid.Column="1" Grid.Row="1"
|
||||||
|
Orientation="Vertical"
|
||||||
|
VerticalAlignment="Center">
|
||||||
|
|
||||||
|
<!-- Target Name -->
|
||||||
|
<StackPanel Grid.ColumnSpan="2" Grid.Row="0"
|
||||||
|
Orientation="Horizontal">
|
||||||
|
|
||||||
|
<!-- Target State -->
|
||||||
|
<Ellipse Grid.ColumnSpan="2" Grid.Row="0"
|
||||||
|
Name="CurrentTargetState"
|
||||||
|
Fill="Red"
|
||||||
|
Width="12"
|
||||||
|
Height="12"
|
||||||
|
HorizontalAlignment="Left"
|
||||||
|
VerticalAlignment="Center"
|
||||||
|
Margin="5 0 5 0"
|
||||||
|
ToolTip="Online & API Available"/>
|
||||||
|
|
||||||
|
<!-- Current Target Name -->
|
||||||
|
<TextBlock Grid.ColumnSpan="2" Grid.Row="0"
|
||||||
|
Name="CurrentTargetName"
|
||||||
|
HorizontalAlignment="Left"
|
||||||
|
VerticalAlignment="Center"
|
||||||
|
Margin="0 0 0 0"
|
||||||
|
Text="-"
|
||||||
|
FontSize="13"
|
||||||
|
Foreground="{DynamicResource Text}"/>
|
||||||
|
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<!-- Title Name -->
|
||||||
|
<TextBlock Name="CurrentTargetTitleName"
|
||||||
|
HorizontalAlignment="Left"
|
||||||
|
Margin="5 0 0 0"
|
||||||
|
Text="-"
|
||||||
|
Foreground="{DynamicResource Text}"
|
||||||
|
FontSize="10"/>
|
||||||
|
|
||||||
|
<!-- TitleId -->
|
||||||
|
<TextBlock Name="CurrentTargetTitleId"
|
||||||
|
HorizontalAlignment="Left"
|
||||||
|
Margin="5 0 0 0"
|
||||||
|
Text="-"
|
||||||
|
Foreground="{DynamicResource Text}"
|
||||||
|
FontSize="10"/>
|
||||||
|
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
</UserControl>
|
||||||
@@ -0,0 +1,112 @@
|
|||||||
|
using OrbisSuite;
|
||||||
|
using OrbisSuite.Common.Database;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Text.RegularExpressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows;
|
||||||
|
using System.Windows.Controls;
|
||||||
|
using System.Windows.Data;
|
||||||
|
using System.Windows.Documents;
|
||||||
|
using System.Windows.Input;
|
||||||
|
using System.Windows.Media;
|
||||||
|
using System.Windows.Media.Imaging;
|
||||||
|
using System.Windows.Navigation;
|
||||||
|
using System.Windows.Shapes;
|
||||||
|
|
||||||
|
namespace OrbisLibraryManager.Controls
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Interaction logic for CurrentTargetDisplay.xaml
|
||||||
|
/// </summary>
|
||||||
|
public partial class CurrentTargetDisplay : UserControl
|
||||||
|
{
|
||||||
|
public CurrentTargetDisplay()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
|
||||||
|
OrbisLib.Instance.Events.DBTouched += Events_DBTouched;
|
||||||
|
OrbisLib.Instance.Events.TargetStateChanged += Events_TargetStateChanged;
|
||||||
|
RefreshTarget();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Events_TargetStateChanged(object? sender, TargetStateChangedEvent e)
|
||||||
|
{
|
||||||
|
Dispatcher.Invoke(() => { RefreshTarget(); });
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Events_DBTouched(object? sender, DBTouchedEvent e)
|
||||||
|
{
|
||||||
|
Dispatcher.Invoke(() => { RefreshTarget(); });
|
||||||
|
}
|
||||||
|
|
||||||
|
private void RefreshTarget()
|
||||||
|
{
|
||||||
|
var CurrentTarget = OrbisLib.Instance.SelectedTarget.Info;
|
||||||
|
|
||||||
|
if (CurrentTarget != null)
|
||||||
|
{
|
||||||
|
switch (CurrentTarget.Status)
|
||||||
|
{
|
||||||
|
case TargetStatusType.Offline:
|
||||||
|
CurrentTargetState.Fill = new SolidColorBrush(Color.FromRgb(255, 0, 0));
|
||||||
|
CurrentTargetState.ToolTip = "Offline";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case TargetStatusType.Online:
|
||||||
|
CurrentTargetState.Fill = new SolidColorBrush(Color.FromRgb(255, 140, 0));
|
||||||
|
CurrentTargetState.ToolTip = "Online";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case TargetStatusType.APIAvailable:
|
||||||
|
CurrentTargetState.Fill = new SolidColorBrush(Color.FromRgb(0, 128, 0));
|
||||||
|
CurrentTargetState.ToolTip = "Online & API Available";
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
CurrentTargetState.Fill = new SolidColorBrush(Color.FromRgb(255, 0, 0));
|
||||||
|
CurrentTargetState.ToolTip = "Unknown";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
CurrentTargetName.Text = CurrentTarget.IsDefault ? $"★{CurrentTarget.Name}" : CurrentTarget.Name;
|
||||||
|
|
||||||
|
if (CurrentTarget.CurrentTitleID == null || !Regex.IsMatch(CurrentTarget.CurrentTitleID, @"CUSA\d{5}"))
|
||||||
|
{
|
||||||
|
CurrentTargetTitleName.Text = "Unknown Title";
|
||||||
|
CurrentTargetTitleId.Text = "-";
|
||||||
|
CurrentTargetTitleImage.Source = new BitmapImage(new Uri("pack://application:,,,/OrbisLibraryManager;component/Images/DefaultTitleIcon.png"));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var Title = new TMDB(CurrentTarget.CurrentTitleID);
|
||||||
|
Regex rgx = new Regex(@"[^0-9a-zA-Z +.:']");
|
||||||
|
CurrentTargetTitleName.Text = Title.Names.First();
|
||||||
|
CurrentTargetTitleId.Text = Title.NPTitleID;
|
||||||
|
var test = Title.BGM;
|
||||||
|
CurrentTargetTitleImage.Source = new BitmapImage(new Uri(Title.Icons.First()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CurrentTargetTitleImage_MouseDown(object sender, MouseButtonEventArgs e)
|
||||||
|
{
|
||||||
|
var CurrentTarget = OrbisLib.Instance.SelectedTarget.Info;
|
||||||
|
|
||||||
|
if (CurrentTarget != null && CurrentTarget.CurrentTitleID != null && Regex.IsMatch(CurrentTarget.CurrentTitleID, @"CUSA\d{5}"))
|
||||||
|
{
|
||||||
|
var Title = new TMDB(CurrentTarget.CurrentTitleID);
|
||||||
|
var url = $"https://store.playstation.com/product/{Title.ContentID}/";
|
||||||
|
|
||||||
|
System.Diagnostics.Process.Start(new ProcessStartInfo
|
||||||
|
{
|
||||||
|
FileName = url,
|
||||||
|
UseShellExecute = true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
<UserControl x:Class="OrbisLibraryManager.Controls.ImageButton"
|
||||||
|
x:Name="ImageButtonElement"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
|
xmlns:local="clr-namespace:OrbisLibraryManager.Controls"
|
||||||
|
xmlns:simpleControls="clr-namespace:SimpleUI.Controls;assembly=SimpleUI"
|
||||||
|
mc:Ignorable="d"
|
||||||
|
IsEnabledChanged="ImageButtonElement_IsEnabledChanged"
|
||||||
|
d:DesignHeight="35" d:DesignWidth="35">
|
||||||
|
<Grid>
|
||||||
|
<simpleControls:SimpleButton Content="" Click="SimpleButton_Click"/>
|
||||||
|
|
||||||
|
<Image Source="{Binding ElementName=ImageButtonElement, Path=ImageSource}"
|
||||||
|
Margin="{Binding ElementName=ImageButtonElement, Path=ImageMargin}"
|
||||||
|
RenderOptions.BitmapScalingMode="Fant"
|
||||||
|
RenderOptions.EdgeMode="Aliased"
|
||||||
|
Name="ButtonImage"
|
||||||
|
IsHitTestVisible="False"/>
|
||||||
|
</Grid>
|
||||||
|
</UserControl>
|
||||||
@@ -0,0 +1,66 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows;
|
||||||
|
using System.Windows.Controls;
|
||||||
|
using System.Windows.Data;
|
||||||
|
using System.Windows.Documents;
|
||||||
|
using System.Windows.Input;
|
||||||
|
using System.Windows.Media;
|
||||||
|
using System.Windows.Media.Imaging;
|
||||||
|
using System.Windows.Navigation;
|
||||||
|
using System.Windows.Shapes;
|
||||||
|
|
||||||
|
namespace OrbisLibraryManager.Controls
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Interaction logic for ImageButton.xaml
|
||||||
|
/// </summary>
|
||||||
|
public partial class ImageButton : UserControl
|
||||||
|
{
|
||||||
|
public event EventHandler<RoutedEventArgs>? Click;
|
||||||
|
|
||||||
|
public ImageButton()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
|
||||||
|
public string ImageSource
|
||||||
|
{
|
||||||
|
get { return (string)GetValue(ImageSourceProperty); }
|
||||||
|
set { SetValue(ImageSourceProperty, value); }
|
||||||
|
}
|
||||||
|
|
||||||
|
public static readonly DependencyProperty ImageSourceProperty =
|
||||||
|
DependencyProperty.Register("ImageSource", typeof(string), typeof(ImageButton), new PropertyMetadata(string.Empty, ImageSource_Changed));
|
||||||
|
|
||||||
|
private static void ImageSource_Changed(DependencyObject d, DependencyPropertyChangedEventArgs e)
|
||||||
|
{
|
||||||
|
var currentControl = (ImageButton)d;
|
||||||
|
currentControl.ButtonImage.Source = new BitmapImage(new Uri($"pack://application:,,,{(string)e.NewValue}"));
|
||||||
|
currentControl.ButtonImage.Opacity = currentControl.IsEnabled ? 1 : 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int ImageMargin
|
||||||
|
{
|
||||||
|
get { return (int)GetValue(ImageMarginProperty); }
|
||||||
|
set { SetValue(ImageMarginProperty, value); }
|
||||||
|
}
|
||||||
|
|
||||||
|
public static readonly DependencyProperty ImageMarginProperty =
|
||||||
|
DependencyProperty.Register("ImageMargin", typeof(int), typeof(ImageButton), new PropertyMetadata(0));
|
||||||
|
|
||||||
|
private void ImageButtonElement_IsEnabledChanged(object sender, DependencyPropertyChangedEventArgs e)
|
||||||
|
{
|
||||||
|
ButtonImage.Source = new BitmapImage(new Uri($"pack://application:,,,{ImageSource}"));
|
||||||
|
ButtonImage.Opacity = IsEnabled ? 1 : 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SimpleButton_Click(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
Click?.Invoke(sender, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 363 B |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 842 B |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 1.0 KiB |
@@ -0,0 +1,95 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<OutputType>WinExe</OutputType>
|
||||||
|
<TargetFramework>net6.0-windows</TargetFramework>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
<UseWPF>true</UseWPF>
|
||||||
|
<ApplicationIcon>OrbisLibraryManager.ico</ApplicationIcon>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<None Remove="Images\Attached.png" />
|
||||||
|
<None Remove="Images\DefaultTitleIcon.png" />
|
||||||
|
<None Remove="Images\Detached.png" />
|
||||||
|
<None Remove="Images\KillProcess.png" />
|
||||||
|
<None Remove="Images\Restart.png" />
|
||||||
|
<None Remove="Images\RestMode.png" />
|
||||||
|
<None Remove="Images\Send.png" />
|
||||||
|
<None Remove="Images\Shutdown.png" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Content Include="OrbisLibraryManager.ico" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Resource Include="Images\Attached.png">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Resource>
|
||||||
|
<Resource Include="Images\Detached.png">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Resource>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\Windows\Libraries\OrbisLib\OrbisLib.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="Microsoft.Expression.Drawing">
|
||||||
|
<HintPath>..\External\SimpleUI\SimpleUI\bin\Debug\net6.0-windows\Microsoft.Expression.Drawing.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="SimpleUI">
|
||||||
|
<HintPath>..\External\SimpleUI\SimpleUI\bin\Debug\net6.0-windows\SimpleUI.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Folder Include="Core\" />
|
||||||
|
<Folder Include="MVVM\ViewModel\" />
|
||||||
|
<Folder Include="MVVM\View\" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Resource Include="Images\DefaultTitleIcon.png">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Resource>
|
||||||
|
<Resource Include="Images\KillProcess.png">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Resource>
|
||||||
|
<Resource Include="Images\Restart.png">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Resource>
|
||||||
|
<Resource Include="Images\RestMode.png">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Resource>
|
||||||
|
<Resource Include="Images\Send.png">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Resource>
|
||||||
|
<Resource Include="Images\Shutdown.png">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Resource>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Update="Controls\CurrentTargetDisplay.xaml.cs">
|
||||||
|
<SubType>Code</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Update="Controls\ImageButton.xaml.cs">
|
||||||
|
<SubType>Code</SubType>
|
||||||
|
</Compile>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Page Update="Controls\CurrentTargetDisplay.xaml">
|
||||||
|
<XamlRuntime>$(DefaultXamlRuntime)</XamlRuntime>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Update="Controls\ImageButton.xaml">
|
||||||
|
<XamlRuntime>$(DefaultXamlRuntime)</XamlRuntime>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
|
After Width: | Height: | Size: 264 KiB |
@@ -0,0 +1,184 @@
|
|||||||
|
<simpleControls:SimpleWindow x:Class="OrbisLibraryManager.MainWindow"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
|
xmlns:local="clr-namespace:OrbisLibraryManager"
|
||||||
|
xmlns:simpleControls="clr-namespace:SimpleUI.Controls;assembly=SimpleUI"
|
||||||
|
xmlns:controls="clr-namespace:OrbisLibraryManager.Controls"
|
||||||
|
mc:Ignorable="d"
|
||||||
|
Title="LibraryManager" Height="640" Width="960"
|
||||||
|
MinHeight="640" MinWidth="960"
|
||||||
|
MaxHeight="640" MaxWidth="960"
|
||||||
|
ResizeMode="CanMinimize">
|
||||||
|
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="80"/>
|
||||||
|
<RowDefinition/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
|
<!-- Menu BG -->
|
||||||
|
<Rectangle Grid.Column="0" Grid.Row="0"
|
||||||
|
Fill="{DynamicResource WindowBar}"/>
|
||||||
|
|
||||||
|
<!-- Separation bar -->
|
||||||
|
<Rectangle Grid.Column="0" Grid.Row="0"
|
||||||
|
Height="0.5" VerticalAlignment="Top"
|
||||||
|
Fill="{DynamicResource WindowBackground}"/>
|
||||||
|
|
||||||
|
<!-- Current Target -->
|
||||||
|
<controls:CurrentTargetDisplay VerticalAlignment="Center"
|
||||||
|
HorizontalAlignment="Stretch"/>
|
||||||
|
|
||||||
|
<StackPanel Orientation="Horizontal"
|
||||||
|
HorizontalAlignment="Right">
|
||||||
|
|
||||||
|
<!-- SPRX Loader -->
|
||||||
|
<StackPanel HorizontalAlignment="Right"
|
||||||
|
Margin="6">
|
||||||
|
|
||||||
|
<simpleControls:SimpleTextField FieldName="SPRX Path"
|
||||||
|
FieldText="/data/something.sprx"
|
||||||
|
VerticalContentAlignment="Center"
|
||||||
|
Width="180"/>
|
||||||
|
|
||||||
|
<Grid Margin="0 6 0 0">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
<ColumnDefinition Width="Auto" />
|
||||||
|
<ColumnDefinition Width="*" />
|
||||||
|
<ColumnDefinition Width="Auto" />
|
||||||
|
<ColumnDefinition Width="*" />
|
||||||
|
<ColumnDefinition Width="Auto" />
|
||||||
|
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
<simpleControls:SimpleButton Grid.Column="0"
|
||||||
|
Content="Load"
|
||||||
|
Width="56"
|
||||||
|
Height="25"/>
|
||||||
|
|
||||||
|
<simpleControls:SimpleButton Grid.Column="2"
|
||||||
|
Content="Unload"
|
||||||
|
Width="56"
|
||||||
|
Height="25"/>
|
||||||
|
|
||||||
|
<simpleControls:SimpleButton Grid.Column="4"
|
||||||
|
Content="Reload"
|
||||||
|
Width="56"
|
||||||
|
Height="25"/>
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<!-- Current Debugging Process -->
|
||||||
|
<StackPanel HorizontalAlignment="Right"
|
||||||
|
Margin="0 6 6 6">
|
||||||
|
|
||||||
|
<simpleControls:SimpleTextField FieldName="Currently Debugging"
|
||||||
|
FieldText="SceShellUI.ELF (75)"
|
||||||
|
VerticalContentAlignment="Center"
|
||||||
|
Width="180"/>
|
||||||
|
|
||||||
|
<Grid Margin="0 6 0 0">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
<ColumnDefinition Width="Auto" />
|
||||||
|
<ColumnDefinition Width="*" />
|
||||||
|
<ColumnDefinition Width="Auto" />
|
||||||
|
<ColumnDefinition Width="*" />
|
||||||
|
<ColumnDefinition Width="Auto" />
|
||||||
|
<ColumnDefinition Width="*" />
|
||||||
|
<ColumnDefinition Width="Auto" />
|
||||||
|
<ColumnDefinition Width="*" />
|
||||||
|
<ColumnDefinition Width="Auto" />
|
||||||
|
<ColumnDefinition Width="*" />
|
||||||
|
<ColumnDefinition Width="Auto" />
|
||||||
|
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
<controls:ImageButton x:Name="AttachProcess"
|
||||||
|
Grid.Column="0"
|
||||||
|
Width="25"
|
||||||
|
Height="25"
|
||||||
|
ToolTip="Attach to new process"
|
||||||
|
ImageSource="/OrbisLibraryManager;component/Images/Attached.png"
|
||||||
|
ImageMargin="1"/>
|
||||||
|
|
||||||
|
<controls:ImageButton x:Name="DetachProcess"
|
||||||
|
Grid.Column="2"
|
||||||
|
Width="25"
|
||||||
|
Height="25"
|
||||||
|
ToolTip="Detach the current attached process"
|
||||||
|
ImageSource="/OrbisLibraryManager;component/Images/Detached.png"
|
||||||
|
ImageMargin="2"/>
|
||||||
|
|
||||||
|
<controls:ImageButton x:Name="Send"
|
||||||
|
Grid.Column="4"
|
||||||
|
Width="25"
|
||||||
|
Height="25"
|
||||||
|
ToolTip="Browse for something to load from local machine"
|
||||||
|
ImageSource="/OrbisLibraryManager;component/Images/Send.png"
|
||||||
|
ImageMargin="5"/>
|
||||||
|
|
||||||
|
<controls:ImageButton x:Name="KillProcess"
|
||||||
|
Grid.Column="6"
|
||||||
|
Width="25"
|
||||||
|
Height="25"
|
||||||
|
ToolTip="Kills the currently attached process"
|
||||||
|
ImageSource="/OrbisLibraryManager;component/Images/KillProcess.png"
|
||||||
|
ImageMargin="1"/>
|
||||||
|
|
||||||
|
<controls:ImageButton x:Name="RestartTarget"
|
||||||
|
Grid.Column="8"
|
||||||
|
Width="25"
|
||||||
|
Height="25"
|
||||||
|
ToolTip="Restart the Target"
|
||||||
|
ImageSource="/OrbisLibraryManager;component/Images/Restart.png"
|
||||||
|
ImageMargin="0"/>
|
||||||
|
|
||||||
|
<controls:ImageButton x:Name="ShutdownTarget"
|
||||||
|
Grid.Column="10"
|
||||||
|
Width="25"
|
||||||
|
Height="25"
|
||||||
|
ToolTip="Shutdown the Target"
|
||||||
|
ImageSource="/OrbisLibraryManager;component/Images/Shutdown.png"
|
||||||
|
ImageMargin="0"/>
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<!-- Library List -->
|
||||||
|
<ListView Grid.Row="1"
|
||||||
|
Height="507"
|
||||||
|
Width="934"
|
||||||
|
MaxWidth="934"
|
||||||
|
VerticalAlignment="Top"
|
||||||
|
Background="{DynamicResource WindowBackground}"
|
||||||
|
BorderBrush="Transparent"
|
||||||
|
BorderThickness="0"
|
||||||
|
Name="LibraryList"
|
||||||
|
AlternationCount="2">
|
||||||
|
|
||||||
|
<ListView.View>
|
||||||
|
<GridView>
|
||||||
|
<GridViewColumn Header="Handle" Width="60" DisplayMemberBinding="{Binding [0]}"/>
|
||||||
|
<GridViewColumn Header="Name" Width="180" DisplayMemberBinding="{Binding [1]}"/>
|
||||||
|
<GridViewColumn Header="Segments" Width="Auto" DisplayMemberBinding="{Binding [2]}"/>
|
||||||
|
</GridView>
|
||||||
|
</ListView.View>
|
||||||
|
|
||||||
|
</ListView>
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
</simpleControls:SimpleWindow>
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
using SimpleUI.Controls;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows;
|
||||||
|
using System.Windows.Controls;
|
||||||
|
using System.Windows.Data;
|
||||||
|
using System.Windows.Documents;
|
||||||
|
using System.Windows.Input;
|
||||||
|
using System.Windows.Media;
|
||||||
|
using System.Windows.Media.Imaging;
|
||||||
|
using System.Windows.Navigation;
|
||||||
|
using System.Windows.Shapes;
|
||||||
|
|
||||||
|
namespace OrbisLibraryManager
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Interaction logic for MainWindow.xaml
|
||||||
|
/// </summary>
|
||||||
|
public partial class MainWindow : SimpleWindow
|
||||||
|
{
|
||||||
|
public MainWindow()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -8,5 +8,7 @@ public:
|
|||||||
void HandleAPI(OrbisNetId Sock, APIPacket* Packet);
|
void HandleAPI(OrbisNetId Sock, APIPacket* Packet);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
bool IsDebugging;
|
||||||
|
int CurrentPID;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#define ORBIS_TOOLBOX_MAJOR 2
|
#define ORBIS_TOOLBOX_MAJOR 2
|
||||||
#define ORBIS_TOOLBOX_MINOR 0
|
#define ORBIS_TOOLBOX_MINOR 0
|
||||||
#define ORBIS_TOOLBOX_BUILDVERSION 196
|
#define ORBIS_TOOLBOX_BUILDVERSION 198
|
||||||
#define stringify(a) stringify_(a)
|
#define stringify(a) stringify_(a)
|
||||||
#define stringify_(a) #a
|
#define stringify_(a) #a
|
||||||
#if defined(ORBIS_TOOLBOX_DEBUG)
|
#if defined(ORBIS_TOOLBOX_DEBUG)
|
||||||
#define ORBIS_TOOLBOX_BUILDSTRING ("[Orbis Toolbox " stringify(ORBIS_TOOLBOX_MAJOR) "." stringify(ORBIS_TOOLBOX_MINOR) "] Dev Build " stringify(ORBIS_TOOLBOX_BUILDVERSION) " " __DATE__ " " __TIME__)
|
#define ORBIS_TOOLBOX_BUILDSTRING ("[Orbis Toolbox " stringify(ORBIS_TOOLBOX_MAJOR) "." stringify(ORBIS_TOOLBOX_MINOR) "] Dev Build " stringify(ORBIS_TOOLBOX_BUILDVERSION) " " __DATE__ " " __TIME__)
|
||||||
#else
|
#else
|
||||||
#define ORBIS_TOOLBOX_BUILDSTRING ("[Orbis Toolbox " stringify(ORBIS_TOOLBOX_MAJOR) "." stringify(ORBIS_TOOLBOX_MINOR) "] Build " stringify(ORBIS_TOOLBOX_BUILDVERSION) " " __DATE__ " " __TIME__)
|
#define ORBIS_TOOLBOX_BUILDSTRING ("[Orbis Toolbox " stringify(ORBIS_TOOLBOX_MAJOR) "." stringify(ORBIS_TOOLBOX_MINOR) "] Build " stringify(ORBIS_TOOLBOX_BUILDVERSION) " " __DATE__ " " __TIME__)
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -399,8 +399,8 @@
|
|||||||
<!-- Library Manager -->
|
<!-- Library Manager -->
|
||||||
<controls:AppLauncherButton
|
<controls:AppLauncherButton
|
||||||
Grid.Column="3"
|
Grid.Column="3"
|
||||||
IsEnabled="False"
|
IsEnabled="true"
|
||||||
ToolTip="Currently under development."
|
ToolTip="Launch the Orbis Library Manager to load SPRX, ELF's and more!"
|
||||||
Text="Library Manager"
|
Text="Library Manager"
|
||||||
Source="/OrbisNeighborHood;component/Images/Icons/OrbisModuleManager.ico"/>
|
Source="/OrbisNeighborHood;component/Images/Icons/OrbisModuleManager.ico"/>
|
||||||
|
|
||||||
|
|||||||
@@ -70,6 +70,10 @@
|
|||||||
<!-- Current Target -->
|
<!-- Current Target -->
|
||||||
<controls:CurrentTargetDisplay VerticalAlignment="Stretch"
|
<controls:CurrentTargetDisplay VerticalAlignment="Stretch"
|
||||||
HorizontalAlignment="Stretch"/>
|
HorizontalAlignment="Stretch"/>
|
||||||
|
<!-- Separation bar -->
|
||||||
|
<Rectangle Grid.Column="0" Grid.Row="0"
|
||||||
|
Height="0.5" VerticalAlignment="Top"
|
||||||
|
Fill="{DynamicResource WindowBackground}"/>
|
||||||
|
|
||||||
<!-- Menu Controls -->
|
<!-- Menu Controls -->
|
||||||
<StackPanel Grid.Column="0" Grid.Row="2"
|
<StackPanel Grid.Column="0" Grid.Row="2"
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
1326
|
1337
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
Version 3.0.1326 Debug Build Friday July 08 2022 1:58 PM
|
Version 3.0.1337 Debug Build Saturday July 30 2022 8:50 AM
|
||||||
|
|||||||