├── icon.png
├── .gitignore
├── packages.config
├── Views
├── SettingsView.xaml.cs
├── Common.cs
├── FullscreenSettingsView.cs
├── SettingsView.xaml
└── FullscreenSettingsView.xaml
├── ThemeOptions.csproj.user
├── Controls
├── CommandControl.xaml
├── GamepadAltControl.xaml
├── out_of_order
│ ├── CommandControl_TriggerActions.cs.txt
│ ├── CommandControl_SendEvent.cs..txt
│ └── CommandControl_UpdateOneTimeBind.cs.txt
├── CommandControl_BeginStoryboard.cs
├── CommandControl_Toggle.cs
├── CommandControl.xaml.cs
├── CommandControl_MainMenuCommands.cs
├── CommandControl_TouchTag.cs
├── CommandControl_ChangeProperty.cs
├── CommandControl_GameControllerHold.cs
└── GamepadAltControl.xaml.cs
├── App.xaml
├── Localization
├── en_US.xaml
└── ru_RU.xaml
├── extension.yaml
├── Models
├── MinimalVersion.cs
├── Extensions.cs
├── Preset.cs
├── DynamicProperties.cs
├── Options.cs
├── GamepadState.cs
├── Variable.cs
├── Theme.cs
├── Presets.cs
├── Variables.cs
└── SettingsViewModel.cs
├── AssemblyInfo.cs
├── LICENSE
├── Tools
├── DisplayAspectRatio.cs
├── VersionComparer.cs
├── GetFakeModel.cs
├── DynamicEventHandler.cs
└── Gamepad.cs
├── Tests
├── Tools
│ └── VersionComparer.cs
├── Tests.csproj
└── Models
│ ├── VariablesToObjectsCast.test.cs
│ └── VariableValuesSearization.test.cs
├── Converters
├── VisibilityToBoolean.cs
├── DurationToDouble.cs
└── DurationToString.cs
├── .vscode
├── settings.json
├── launch.json
└── tasks.json
├── ThemeOptions.sln
├── ThemeOptions.csproj
├── Localization.cs
├── ThemeOptions.yaml
└── ThemeOptions.cs
/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ashpynov/ThemeOptions/HEAD/icon.png
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /.vs
2 | /bin
3 | /obj
4 | /packages
5 | Properties/launchSettings.json
6 | /.idea
7 | Tests/bin/
8 | Tests/obj/
9 |
--------------------------------------------------------------------------------
/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Views/SettingsView.xaml.cs:
--------------------------------------------------------------------------------
1 | using System.Windows.Controls;
2 | using System.Windows.Markup;
3 |
4 | namespace ThemeOptions.Views
5 | {
6 | public partial class SettingsView : UserControl
7 | {
8 | public SettingsView()
9 | {
10 | ((IComponentConnector)this).InitializeComponent();
11 | }
12 | }
13 | }
--------------------------------------------------------------------------------
/ThemeOptions.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ProjectDebugger
5 |
6 |
7 | Fullscreen
8 |
9 |
--------------------------------------------------------------------------------
/Controls/CommandControl.xaml:
--------------------------------------------------------------------------------
1 |
10 |
11 |
--------------------------------------------------------------------------------
/App.xaml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/Localization/en_US.xaml:
--------------------------------------------------------------------------------
1 |
4 | Theme Options
5 | Choose theme to set options:
6 | Presets
7 | Variables
8 |
9 |
--------------------------------------------------------------------------------
/Localization/ru_RU.xaml:
--------------------------------------------------------------------------------
1 |
4 | Настройки темы
5 | Выберите тему для настройки:
6 | Предустановки
7 | Настройки
8 |
9 |
--------------------------------------------------------------------------------
/Controls/GamepadAltControl.xaml:
--------------------------------------------------------------------------------
1 |
11 |
12 |
--------------------------------------------------------------------------------
/extension.yaml:
--------------------------------------------------------------------------------
1 | Id: ThemeOptions_904cbf3b-573f-48f8-9642-0a09d05c64ef
2 | Name: Theme Options
3 | Author: Artem Shpynov, Jono
4 | Version: 0.32
5 | Module: ThemeOptions.dll
6 | Type: GenericPlugin
7 | Icon: icon.png
8 | Links:
9 | - Name: Github
10 | Url: https://github.com/ashpynov/ThemeOptions
11 | - Name: License
12 | Url: https://github.com/ashpynov/ThemeOptions/LICENSE
13 | - Name: Support(Discord)
14 | Url: https://discord.com/channels/365863063296933888/808419165311467630
15 | - Name: Bug tracker
16 | Url: https://github.com/ashpynov/ThemeOptions/issues
17 | - Name: Ko-fi for Tips
18 | Url: https://ko-fi.com/ashpynov
19 | - Name: Boosty for Tips
20 | Url: https://boosty.to/ashpynov/donate
--------------------------------------------------------------------------------
/Models/MinimalVersion.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.IO;
3 | using System.Reflection;
4 | using Playnite.SDK.Data;
5 | using ThemeOptions.Tools;
6 |
7 | namespace ThemeOptions.Models
8 | {
9 | public class MinimalVersion: Dictionary
10 | {
11 | static private string GetPluginVersion()
12 | {
13 | string pluginManifestFile = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "Extension.yaml");
14 | var info = Serialization.FromYamlFile>(pluginManifestFile);
15 | return info["Version"].ToString();
16 | }
17 | static public string PluginVersion = GetPluginVersion();
18 |
19 | public new object this[string version]
20 | {
21 | get => VersionComparer.MinimalVersion(version, PluginVersion);
22 | set { }
23 | }
24 | }
25 | }
--------------------------------------------------------------------------------
/Controls/out_of_order/CommandControl_TriggerActions.cs.txt:
--------------------------------------------------------------------------------
1 |
2 | using Playnite.SDK;
3 | using System.Linq;
4 | using System.Reflection;
5 | using System.Windows;
6 | using Behaviors = Microsoft.Xaml.Behaviors;
7 |
8 | namespace ThemeOptions.Controls
9 | {
10 |
11 | public partial class CommandControl
12 | {
13 | public RelayCommand