Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions ControlApp/Views/Pages/DevicesPage.xaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<Page
<Page
x:Class="Nefarius.DsHidMini.ControlApp.Views.Pages.DevicesPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Expand Down Expand Up @@ -173,7 +173,7 @@
HorizontalContentAlignment="Left"
DockPanel.Dock="Bottom"
Icon="{ui:SymbolIcon Link24}"
NavigateUri="https://docs.nefarius.at/projects/DsHidMini/Experimental/Version-3-Beta/">
NavigateUri="https://docs.nefarius.at/projects/DsHidMini/v3/How-to-Install/#troubleshooting">
<ui:HyperlinkButton.Content>
<ui:TextBlock Text="Troubleshooting page" TextWrapping="Wrap" />
</ui:HyperlinkButton.Content>
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@

Virtual HID Mini user-mode driver for Sony DualShock 3 controllers on Windows 10/11.

## Version 3 (Beta)
## Version 3 (Stable)

The next major version is [available for Beta-testing](https://github.com/nefarius/DsHidMini/releases). Highlights: new installer and configuration app, **ARM64** and **Windows 11** support, LED/dead-zone/rumble customization, Xbox One emulation, and more. Follow progress on [Discord](https://discord.nefarius.at/) or [Mastodon](https://fosstodon.org/@Nefarius).
Version 3 is the current stable release. Get the latest build from [releases](https://github.com/nefarius/DsHidMini/releases). Highlights: new installer and configuration app, **ARM64** and **Windows 11** support, LED/dead-zone/rumble customization, Xbox One emulation, and more. Support and updates on [Discord](https://discord.nefarius.at/) or [Mastodon](https://fosstodon.org/@Nefarius).

## Repository activity

Expand Down Expand Up @@ -69,7 +69,7 @@ This solution contains **BSD-3-Clause** and other licensed components; see the i

## Installation

Pre-built binaries and instructions: [releases](https://github.com/nefarius/DsHidMini/releases). Installation steps: [How to Install](https://docs.nefarius.at/projects/DsHidMini/v2/How-to-Install/).
Pre-built binaries and instructions: [releases](https://github.com/nefarius/DsHidMini/releases). Installation steps: [How to Install](https://docs.nefarius.at/projects/DsHidMini/v3/How-to-Install/).

## Support

Expand Down
95 changes: 0 additions & 95 deletions setup/Dialogs/BetaArticleDialog.xaml.cs

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<wixsharp:WpfDialog
x:Class="Nefarius.DsHidMini.Setup.Dialogs.BetaArticleDialog"
x:Class="Nefarius.DsHidMini.Setup.Dialogs.OnlineDocumentationDialog"
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"
Expand Down Expand Up @@ -45,7 +45,7 @@
Margin="17,5"
VerticalAlignment="Stretch"
TextWrapping="WrapWithOverflow">
A web article should have opened in your default Browser by now
A web page should have opened in your default browser by now.
</TextBlock>
</StackPanel>
</Grid>
Expand All @@ -57,8 +57,8 @@
</TextBlock>

<TextBlock Margin="0, 10, 0, 10">
<Hyperlink NavigateUri="https://docs.nefarius.at/projects/DsHidMini/Experimental/Version-3-Beta/" RequestNavigate="Hyperlink_OnRequestNavigate">
Open Beta Article
<Hyperlink NavigateUri="https://docs.nefarius.at/projects/DsHidMini/v3/How-to-Install/" RequestNavigate="Hyperlink_OnRequestNavigate">
Open documentation
</Hyperlink>
</TextBlock>

Expand Down Expand Up @@ -100,4 +100,4 @@
</StackPanel>
</Border>
</Grid>
</wixsharp:WpfDialog>
</wixsharp:WpfDialog>
98 changes: 98 additions & 0 deletions setup/Dialogs/OnlineDocumentationDialog.xaml.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
using System;
using System.Diagnostics;
using System.Windows;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;

using WixSharp;
using WixSharp.UI.Forms;
using WixSharp.UI.WPF;

namespace Nefarius.DsHidMini.Setup.Dialogs;

public partial class OnlineDocumentationDialog : WpfDialog, IWpfDialog
{
private OnlineDocumentationDialogModel _model;

/// <summary>
/// Initializes a new instance of OnlineDocumentationDialog and initializes its WPF UI components.
/// </summary>
public OnlineDocumentationDialog()
{
InitializeComponent();
}

/// <summary>
/// Initializes the dialog's view model and sets it as the dialog's DataContext.
/// </summary>
/// <remarks>
/// Creates a new <see cref="OnlineDocumentationDialogModel"/>, assigns <see cref="ManagedFormHost"/> to its <c>Host</c> property, stores it in the backing field, and sets <c>DataContext</c> to the created model.
/// </remarks>
public void Init()
{
DataContext = _model = new OnlineDocumentationDialogModel { Host = ManagedFormHost };
}

/// <summary>
/// Handles the Next button click and advances the installer to the next dialog.
/// </summary>
/// <param name="sender">The control that raised the click event.</param>
/// <param name="e">Event data for the routed event.</param>
private void GoNext_Click(object sender, RoutedEventArgs e)
{
_model.GoNext();
}

/// <summary>
/// Attempts to open the application's online documentation URL in the user's default web browser.
/// </summary>
/// <remarks>
/// Any exception thrown while launching the browser is caught and ignored so setup does not fail if the browser cannot be started.
/// </remarks>
private void Hyperlink_OnRequestNavigate(object sender, RequestNavigateEventArgs e)
{
try
{
Process.Start(InstallScript.OnlineDocumentationUrl.ToString());
}
catch
{
// Not failing setup because a browser couldn't be launched
}
}
}

internal class OnlineDocumentationDialogModel : NotifyPropertyChangedBase
{
private ManagedForm _host;
private ISession Session => Host?.Runtime.Session;
private IManagedUIShell Shell => Host?.Shell;

public ManagedForm Host
{
get => _host;
set
{
_host = value;

NotifyOfPropertyChange(nameof(Banner));
NotifyOfPropertyChange(nameof(CanGoNext));
}
}

public BitmapImage Banner => Session?.GetResourceBitmap("WixSharpUI_Bmp_Banner").ToImageSource() ??
Session?.GetResourceBitmap("WixUI_Bmp_Banner").ToImageSource();

public bool CanGoNext => true;

/// <summary>
/// Advances the installer to the next step in the dialog sequence.
/// </summary>
/// <remarks>
/// If a hosting shell is available, requests it to navigate to the next page; otherwise does nothing.
/// </remarks>
public void GoNext()
{
Shell?.GoNext();
}
}
Loading