mirror of
https://github.com/bloxstraplabs/bloxstrap.git
synced 2025-04-22 10:31:26 -07:00
98 lines
2.9 KiB
C#
98 lines
2.9 KiB
C#
using System.ComponentModel;
|
|
using System.Diagnostics;
|
|
using System.IO;
|
|
using System.Windows;
|
|
using System.Windows.Controls;
|
|
using System.Windows.Input;
|
|
using CommunityToolkit.Mvvm.Input;
|
|
using Wpf.Ui.Mvvm.Contracts;
|
|
|
|
using Bloxstrap.Helpers;
|
|
using Bloxstrap.Views.Pages;
|
|
|
|
namespace Bloxstrap.ViewModels
|
|
{
|
|
public class IntegrationsViewModel : INotifyPropertyChanged
|
|
{
|
|
public event PropertyChangedEventHandler? PropertyChanged;
|
|
public void OnPropertyChanged(string propertyName) => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
|
|
|
|
private readonly Page _page;
|
|
|
|
public ICommand OpenReShadeFolderCommand => new RelayCommand(OpenReShadeFolder);
|
|
public ICommand ShowReShadeHelpCommand => new RelayCommand(ShowReShadeHelp);
|
|
|
|
public bool CanOpenReShadeFolder => App.Settings.Prop.UseReShade;
|
|
|
|
public IntegrationsViewModel(Page page)
|
|
{
|
|
_page = page;
|
|
}
|
|
|
|
private void OpenReShadeFolder()
|
|
{
|
|
Process.Start("explorer.exe", Path.Combine(Directories.Integrations, "ReShade"));
|
|
}
|
|
|
|
private void ShowReShadeHelp()
|
|
{
|
|
((INavigationWindow)Window.GetWindow(_page)!).Navigate(typeof(ReShadeHelpPage));
|
|
}
|
|
|
|
public bool DiscordActivityEnabled
|
|
{
|
|
get => App.Settings.Prop.UseDiscordRichPresence;
|
|
set
|
|
{
|
|
App.Settings.Prop.UseDiscordRichPresence = value;
|
|
|
|
if (!value)
|
|
{
|
|
DiscordActivityJoinEnabled = value;
|
|
OnPropertyChanged(nameof(DiscordActivityJoinEnabled));
|
|
}
|
|
}
|
|
}
|
|
|
|
public bool DiscordActivityJoinEnabled
|
|
{
|
|
get => !App.Settings.Prop.HideRPCButtons;
|
|
set => App.Settings.Prop.HideRPCButtons = !value;
|
|
}
|
|
|
|
public bool ReShadeEnabled
|
|
{
|
|
get => App.Settings.Prop.UseReShade;
|
|
set
|
|
{
|
|
App.Settings.Prop.UseReShade = value;
|
|
ReShadePresetsEnabled = value;
|
|
OnPropertyChanged(nameof(ReShadePresetsEnabled));
|
|
}
|
|
}
|
|
|
|
public bool ReShadePresetsEnabled
|
|
{
|
|
get => App.Settings.Prop.UseReShadeExtraviPresets;
|
|
set => App.Settings.Prop.UseReShadeExtraviPresets = value;
|
|
}
|
|
|
|
public bool RbxFpsUnlockerEnabled
|
|
{
|
|
get => App.Settings.Prop.RFUEnabled;
|
|
set
|
|
{
|
|
App.Settings.Prop.RFUEnabled = value;
|
|
RbxFpsUnlockerAutocloseEnabled = value;
|
|
OnPropertyChanged(nameof(RbxFpsUnlockerAutocloseEnabled));
|
|
}
|
|
}
|
|
|
|
public bool RbxFpsUnlockerAutocloseEnabled
|
|
{
|
|
get => App.Settings.Prop.RFUAutoclose;
|
|
set => App.Settings.Prop.RFUAutoclose = value;
|
|
}
|
|
}
|
|
}
|