From fa3fc67e59e23fe89f0815dcaa406d9eafbda089 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AC=E5=BD=A6=E8=B5=A4=E5=B1=8B=E5=85=88?= Date: Sat, 1 Apr 2023 20:41:31 +0900 Subject: [PATCH] NUX changes, added new tips for the plugins/store page --- Amethyst/Assets/Strings/de.json | 36 +++++++------ Amethyst/Assets/Strings/en.json | 32 ++++++----- Amethyst/Assets/Strings/fr.json | 32 ++++++----- Amethyst/Assets/Strings/ru.json | 32 ++++++----- Amethyst/Classes/Shared.cs | 9 +++- Amethyst/MainWindow.xaml | 11 ++++ Amethyst/MainWindow.xaml.cs | 20 +++++++ Amethyst/Pages/Info.xaml | 10 ---- Amethyst/Pages/Info.xaml.cs | 43 +++++---------- Amethyst/Pages/Plugins.xaml | 36 +++++++++++-- Amethyst/Pages/Plugins.xaml.cs | 95 ++++++++++++++++++++++++++++----- 11 files changed, 239 insertions(+), 117 deletions(-) diff --git a/Amethyst/Assets/Strings/de.json b/Amethyst/Assets/Strings/de.json index 3993dde4..15210d6a 100644 --- a/Amethyst/Assets/Strings/de.json +++ b/Amethyst/Assets/Strings/de.json @@ -307,7 +307,7 @@ "/SharedStrings/Updates/Headers/Status": "Status:", "/SharedStrings/Updates/Statuses/Downloading": "Herunterladen - 0%", "/SharedStrings/Updates/Statuses/Error": "Fehler beim Herunterladen!", - + "/SharedStrings/Plugins/Updates/Headers/Downloading": "Updating {0} to v{1}", "/SharedStrings/Plugins/Updates/Headers/Preparing": "Preparing for the update...", "/SharedStrings/Plugins/Updates/Headers/Restart": "{0} will have been updated by the next time Amethyst opens!", @@ -340,7 +340,7 @@ "/SharedStrings/Plugins/Store/Labels/Date": "Published on:", "/SharedStrings/Plugins/Store/Labels/Changelog": "Changelog:", "/SharedStrings/Plugins/Store/Buttons/Install": "Install", - + "/SharedStrings/Plugins/Drop/Headers/Error/Validating": "Error validating {0}!", "/SharedStrings/Plugins/Drop/Headers/Error/Installing": "Error installing {0}!", "/SharedStrings/Plugins/Drop/Headers/Error/Exception": "Error installing the package!", @@ -356,7 +356,7 @@ "/SharedStrings/Plugins/Drop/Resources/Files": "files", "/SharedStrings/Plugins/Drop/Resources/Folder": "folder", "/SharedStrings/Plugins/Drop/Resources/Package": "package", - + "/PluginStore/Titles/Install": "Install {0} {1}", "/PluginStore/Titles/Installing/Setup": "Enqueued {0} installation!", "/PluginStore/Titles/Uninstalling/Notice": "Enqueued {0} removal!", @@ -410,27 +410,31 @@ "/NUX/Tip0/Title": "Are you sure?", "/NUX/Tip0/Content": "Amethyst must be running for tracking to work. Click again to exit.\n\nThis message will only show once.", "/NUX/Tip1/Title": "Welcome to Amethyst", - "/NUX/Tip1/Content": "Let's take a tour of the app and how to use it.\n\nYou can replay this tutorial at any time from the Settings tab.\n\n1 of 12", + "/NUX/Tip1/Content": "Let's take a tour of the app and how to use it.\n\nYou can replay this tutorial at any time from the Settings tab.\n\n1 of 14", "/NUX/Tip2/Title": "Connecting trackers", - "/NUX/Tip2/Content": "Click here to connect the Amethyst trackers to {0}. (If your VR controllers are unresponsive, disconnect and reconnect the trackers)\n\n2 of 12", + "/NUX/Tip2/Content": "Click here to connect the Amethyst trackers to {0}. (If your VR controllers are unresponsive, disconnect and reconnect the trackers)\n\n2 of 14", "/NUX/Tip3/Title": "Calibration and alignment", - "/NUX/Tip3/Content": "Before using your trackers, you must go through calibration to align them to your existing VR play area.\n\n3 of 12", + "/NUX/Tip3/Content": "Before using your trackers, you must go through calibration to align them to your existing VR play area.\n\n3 of 14", "/NUX/Tip4/Title": "Devices at a glance", - "/NUX/Tip4/Content": "Here you can see what devices are currently active for tracking.\nAny problems or errors will show up here too.\n\n4 of 12", + "/NUX/Tip4/Content": "Here you can see what devices are currently active for tracking.\nAny problems or errors will show up here too.\n\n4 of 14", "/NUX/Tip5/Title": "Configuring trackers", - "/NUX/Tip5/Content": "You can enable or disable trackers here, and set their rotation and filter settings by expanding each category.\nSee the link on the right for more info.\n\n5 of 12", + "/NUX/Tip5/Content": "You can enable or disable trackers here, and set their rotation and filter settings by expanding each category.\nSee the link on the right for more info.\n\n5 of 14", "/NUX/Tip6/Title": "Enable more trackers", - "/NUX/Tip6/Content": "Click the gear icon to enable or disable more trackers than shown by default. (Not all trackers are supported by every app)\n\n6 of 12", + "/NUX/Tip6/Content": "Click the gear icon to enable or disable more trackers than shown by default. (Not all trackers are supported by every app)\n\n6 of 14", "/NUX/Tip7/Title": "Start Amethyst with {0}", - "/NUX/Tip7/Content": "Instead of searching for the app on your computer each time, you can click the dropdown to enable Amethyst start alongside {0}.\n\n7 of 12", + "/NUX/Tip7/Content": "Instead of searching for the app on your computer each time, you can click the dropdown to enable Amethyst start alongside {0}.\n\n7 of 14", "/NUX/Tip8/Title": "Available devices", - "/NUX/Tip8/Content": "Here you can see the list of devices available to Amethyst. If something is missing, you most likely don't have the drivers for it.\n\n8 of 12", + "/NUX/Tip8/Content": "Here you can see the list of devices available to Amethyst. If something is missing, you most likely don't have the drivers for it.\n\n8 of 14", "/NUX/Tip9/Title": "Configure and check on devices", - "/NUX/Tip9/Content": "Check the the status of devices and change per-device settings.\nErrors will show up here.\n\n9 of 12", + "/NUX/Tip9/Content": "Check the the status of devices and change per-device settings.\nErrors will show up here.\n\n9 of 14", "/NUX/Tip10/Title": "Overrides and troubleshooting", - "/NUX/Tip10/Content": "The buttons on the right will let you set a device as the base or override, refresh it and get help whenever an error happens.\n\n10 of 12", + "/NUX/Tip10/Content": "The buttons on the right will let you set a device as the base or override, refresh it and get help whenever an error happens.\n\n10 of 14", "/NUX/Tip11/Title": "Getting help and support", - "/NUX/Tip11/Content": "Click the Help button on any page to get links to documentation about that page. Join us on Discord if you have any questions.\n\n11 of 12", - "/NUX/Tip12/Title": "Thank you!", - "/NUX/Tip12/Content": "Amethyst took a while to make and get it to where it's at now.\nSo, you better go have fun.\n\n12 of 12" + "/NUX/Tip11/Content": "Click the Help button on any page to get links to documentation about that page. Join us on Discord if you have any questions.\n\n11 of 14", + "/NUX/Tip12/Title": "Managing plugins", + "/NUX/Tip12/Content": "These are the plugins that are currently installed on Amethyst. From this list, you can toggle each plugin on or off, update them, and see any errors.\n\n12 of 14", + "/NUX/Tip13/Title": "Getting new plugins", + "/NUX/Tip13/Content": "Amethyst allows you to search for new plugins and install them directly within the app. You can also paste direct links, or drag in ZIP files.\n\n13 of 14", + "/NUX/Tip14/Title": "Thank you!", + "/NUX/Tip14/Content": "Amethyst took a while to make and get it to where it's at now.\nSo, you better go have fun.\n\n14 of 14" } \ No newline at end of file diff --git a/Amethyst/Assets/Strings/en.json b/Amethyst/Assets/Strings/en.json index bdde6e0f..d8713028 100644 --- a/Amethyst/Assets/Strings/en.json +++ b/Amethyst/Assets/Strings/en.json @@ -340,7 +340,7 @@ "/SharedStrings/Plugins/Store/Labels/Date": "Published on:", "/SharedStrings/Plugins/Store/Labels/Changelog": "Changelog:", "/SharedStrings/Plugins/Store/Buttons/Install": "Install", - + "/SharedStrings/Plugins/Drop/Headers/Error/Validating": "Error validating {0}!", "/SharedStrings/Plugins/Drop/Headers/Error/Installing": "Error installing {0}!", "/SharedStrings/Plugins/Drop/Headers/Error/Exception": "Error installing the package!", @@ -410,27 +410,31 @@ "/NUX/Tip0/Title": "Are you sure?", "/NUX/Tip0/Content": "Amethyst must be running for tracking to work. Click again to exit.\n\nThis message will only show once.", "/NUX/Tip1/Title": "Welcome to Amethyst", - "/NUX/Tip1/Content": "Let's take a tour of the app and how to use it.\n\nYou can replay this tutorial at any time from the Settings tab.\n\n1 of 12", + "/NUX/Tip1/Content": "Let's take a tour of the app and how to use it.\n\nYou can replay this tutorial at any time from the Settings tab.\n\n1 of 14", "/NUX/Tip2/Title": "Connecting trackers", - "/NUX/Tip2/Content": "Click here to connect the Amethyst trackers to {0}. (If your VR controllers are unresponsive, disconnect and reconnect the trackers)\n\n2 of 12", + "/NUX/Tip2/Content": "Click here to connect the Amethyst trackers to {0}. (If your VR controllers are unresponsive, disconnect and reconnect the trackers)\n\n2 of 14", "/NUX/Tip3/Title": "Calibration and alignment", - "/NUX/Tip3/Content": "Before using your trackers, you must go through calibration to align them to your existing VR play area.\n\n3 of 12", + "/NUX/Tip3/Content": "Before using your trackers, you must go through calibration to align them to your existing VR play area.\n\n3 of 14", "/NUX/Tip4/Title": "Devices at a glance", - "/NUX/Tip4/Content": "Here you can see what devices are currently active for tracking.\nAny problems or errors will show up here too.\n\n4 of 12", + "/NUX/Tip4/Content": "Here you can see what devices are currently active for tracking.\nAny problems or errors will show up here too.\n\n4 of 14", "/NUX/Tip5/Title": "Configuring trackers", - "/NUX/Tip5/Content": "You can enable or disable trackers here, and set their rotation and filter settings by expanding each category.\nSee the link on the right for more info.\n\n5 of 12", + "/NUX/Tip5/Content": "You can enable or disable trackers here, and set their rotation and filter settings by expanding each category.\nSee the link on the right for more info.\n\n5 of 14", "/NUX/Tip6/Title": "Enable more trackers", - "/NUX/Tip6/Content": "Click the gear icon to enable or disable more trackers than shown by default. (Not all trackers are supported by every app)\n\n6 of 12", + "/NUX/Tip6/Content": "Click the gear icon to enable or disable more trackers than shown by default. (Not all trackers are supported by every app)\n\n6 of 14", "/NUX/Tip7/Title": "Start Amethyst with {0}", - "/NUX/Tip7/Content": "Instead of searching for the app on your computer each time, you can click the dropdown to enable Amethyst start alongside {0}.\n\n7 of 12", + "/NUX/Tip7/Content": "Instead of searching for the app on your computer each time, you can click the dropdown to enable Amethyst start alongside {0}.\n\n7 of 14", "/NUX/Tip8/Title": "Available devices", - "/NUX/Tip8/Content": "Here you can see the list of devices available to Amethyst. If something is missing, you most likely don't have the drivers for it.\n\n8 of 12", + "/NUX/Tip8/Content": "Here you can see the list of devices available to Amethyst. If something is missing, you most likely don't have the drivers for it.\n\n8 of 14", "/NUX/Tip9/Title": "Configure and check on devices", - "/NUX/Tip9/Content": "Check the the status of devices and change per-device settings.\nErrors will show up here.\n\n9 of 12", + "/NUX/Tip9/Content": "Check the the status of devices and change per-device settings.\nErrors will show up here.\n\n9 of 14", "/NUX/Tip10/Title": "Overrides and troubleshooting", - "/NUX/Tip10/Content": "The buttons on the right will let you set a device as the base or override, refresh it and get help whenever an error happens.\n\n10 of 12", + "/NUX/Tip10/Content": "The buttons on the right will let you set a device as the base or override, refresh it and get help whenever an error happens.\n\n10 of 14", "/NUX/Tip11/Title": "Getting help and support", - "/NUX/Tip11/Content": "Click the Help button on any page to get links to documentation about that page. Join us on Discord if you have any questions.\n\n11 of 12", - "/NUX/Tip12/Title": "Thank you!", - "/NUX/Tip12/Content": "Amethyst took a while to make and get it to where it's at now.\nSo, you better go have fun.\n\n12 of 12" + "/NUX/Tip11/Content": "Click the Help button on any page to get links to documentation about that page. Join us on Discord if you have any questions.\n\n11 of 14", + "/NUX/Tip12/Title": "Managing plugins", + "/NUX/Tip12/Content": "These are the plugins that are currently installed on Amethyst. From this list, you can toggle each plugin on or off, update them, and see any errors.\n\n12 of 14", + "/NUX/Tip13/Title": "Getting new plugins", + "/NUX/Tip13/Content": "Amethyst allows you to search for new plugins and install them directly within the app. You can also paste direct links, or drag in ZIP files.\n\n13 of 14", + "/NUX/Tip14/Title": "Thank you!", + "/NUX/Tip14/Content": "Amethyst took a while to make and get it to where it's at now.\nSo, you better go have fun.\n\n14 of 14" } \ No newline at end of file diff --git a/Amethyst/Assets/Strings/fr.json b/Amethyst/Assets/Strings/fr.json index d35bc273..5c068ddd 100644 --- a/Amethyst/Assets/Strings/fr.json +++ b/Amethyst/Assets/Strings/fr.json @@ -340,7 +340,7 @@ "/SharedStrings/Plugins/Store/Labels/Date": "Published on:", "/SharedStrings/Plugins/Store/Labels/Changelog": "Changelog:", "/SharedStrings/Plugins/Store/Buttons/Install": "Install", - + "/SharedStrings/Plugins/Drop/Headers/Error/Validating": "Error validating {0}!", "/SharedStrings/Plugins/Drop/Headers/Error/Installing": "Error installing {0}!", "/SharedStrings/Plugins/Drop/Headers/Error/Exception": "Error installing the package!", @@ -410,27 +410,31 @@ "/NUX/Tip0/Title": "Are you sure?", "/NUX/Tip0/Content": "Amethyst must be running for tracking to work. Click again to exit.\n\nThis message will only show once.", "/NUX/Tip1/Title": "Welcome to Amethyst", - "/NUX/Tip1/Content": "Let's take a tour of the app and how to use it.\n\nYou can replay this tutorial at any time from the Settings tab.\n\n1 of 12", + "/NUX/Tip1/Content": "Let's take a tour of the app and how to use it.\n\nYou can replay this tutorial at any time from the Settings tab.\n\n1 of 14", "/NUX/Tip2/Title": "Connecting trackers", - "/NUX/Tip2/Content": "Click here to connect the Amethyst trackers to {0}. (If your VR controllers are unresponsive, disconnect and reconnect the trackers)\n\n2 of 12", + "/NUX/Tip2/Content": "Click here to connect the Amethyst trackers to {0}. (If your VR controllers are unresponsive, disconnect and reconnect the trackers)\n\n2 of 14", "/NUX/Tip3/Title": "Calibration and alignment", - "/NUX/Tip3/Content": "Before using your trackers, you must go through calibration to align them to your existing VR play area.\n\n3 of 12", + "/NUX/Tip3/Content": "Before using your trackers, you must go through calibration to align them to your existing VR play area.\n\n3 of 14", "/NUX/Tip4/Title": "Devices at a glance", - "/NUX/Tip4/Content": "Here you can see what devices are currently active for tracking.\nAny problems or errors will show up here too.\n\n4 of 12", + "/NUX/Tip4/Content": "Here you can see what devices are currently active for tracking.\nAny problems or errors will show up here too.\n\n4 of 14", "/NUX/Tip5/Title": "Configuring trackers", - "/NUX/Tip5/Content": "You can enable or disable trackers here, and set their rotation and filter settings by expanding each category.\nSee the link on the right for more info.\n\n5 of 12", + "/NUX/Tip5/Content": "You can enable or disable trackers here, and set their rotation and filter settings by expanding each category.\nSee the link on the right for more info.\n\n5 of 14", "/NUX/Tip6/Title": "Enable more trackers", - "/NUX/Tip6/Content": "Click the gear icon to enable or disable more trackers than shown by default. (Not all trackers are supported by every app)\n\n6 of 12", + "/NUX/Tip6/Content": "Click the gear icon to enable or disable more trackers than shown by default. (Not all trackers are supported by every app)\n\n6 of 14", "/NUX/Tip7/Title": "Start Amethyst with {0}", - "/NUX/Tip7/Content": "Instead of searching for the app on your computer each time, you can click the dropdown to enable Amethyst start alongside {0}.\n\n7 of 12", + "/NUX/Tip7/Content": "Instead of searching for the app on your computer each time, you can click the dropdown to enable Amethyst start alongside {0}.\n\n7 of 14", "/NUX/Tip8/Title": "Available devices", - "/NUX/Tip8/Content": "Here you can see the list of devices available to Amethyst. If something is missing, you most likely don't have the drivers for it.\n\n8 of 12", + "/NUX/Tip8/Content": "Here you can see the list of devices available to Amethyst. If something is missing, you most likely don't have the drivers for it.\n\n8 of 14", "/NUX/Tip9/Title": "Configure and check on devices", - "/NUX/Tip9/Content": "Check the the status of devices and change per-device settings.\nErrors will show up here.\n\n9 of 12", + "/NUX/Tip9/Content": "Check the the status of devices and change per-device settings.\nErrors will show up here.\n\n9 of 14", "/NUX/Tip10/Title": "Overrides and troubleshooting", - "/NUX/Tip10/Content": "The buttons on the right will let you set a device as the base or override, refresh it and get help whenever an error happens.\n\n10 of 12", + "/NUX/Tip10/Content": "The buttons on the right will let you set a device as the base or override, refresh it and get help whenever an error happens.\n\n10 of 14", "/NUX/Tip11/Title": "Getting help and support", - "/NUX/Tip11/Content": "Click the Help button on any page to get links to documentation about that page. Join us on Discord if you have any questions.\n\n11 of 12", - "/NUX/Tip12/Title": "Thank you!", - "/NUX/Tip12/Content": "Amethyst took a while to make and get it to where it's at now.\nSo, you better go have fun.\n\n12 of 12" + "/NUX/Tip11/Content": "Click the Help button on any page to get links to documentation about that page. Join us on Discord if you have any questions.\n\n11 of 14", + "/NUX/Tip12/Title": "Managing plugins", + "/NUX/Tip12/Content": "These are the plugins that are currently installed on Amethyst. From this list, you can toggle each plugin on or off, update them, and see any errors.\n\n12 of 14", + "/NUX/Tip13/Title": "Getting new plugins", + "/NUX/Tip13/Content": "Amethyst allows you to search for new plugins and install them directly within the app. You can also paste direct links, or drag in ZIP files.\n\n13 of 14", + "/NUX/Tip14/Title": "Thank you!", + "/NUX/Tip14/Content": "Amethyst took a while to make and get it to where it's at now.\nSo, you better go have fun.\n\n14 of 14" } \ No newline at end of file diff --git a/Amethyst/Assets/Strings/ru.json b/Amethyst/Assets/Strings/ru.json index 04ce81da..45d4b087 100644 --- a/Amethyst/Assets/Strings/ru.json +++ b/Amethyst/Assets/Strings/ru.json @@ -340,7 +340,7 @@ "/SharedStrings/Plugins/Store/Labels/Date": "Published on:", "/SharedStrings/Plugins/Store/Labels/Changelog": "Changelog:", "/SharedStrings/Plugins/Store/Buttons/Install": "Install", - + "/SharedStrings/Plugins/Drop/Headers/Error/Validating": "Error validating {0}!", "/SharedStrings/Plugins/Drop/Headers/Error/Installing": "Error installing {0}!", "/SharedStrings/Plugins/Drop/Headers/Error/Exception": "Error installing the package!", @@ -410,27 +410,31 @@ "/NUX/Tip0/Title": "Are you sure?", "/NUX/Tip0/Content": "Amethyst must be running for tracking to work. Click again to exit.\n\nThis message will only show once.", "/NUX/Tip1/Title": "Welcome to Amethyst", - "/NUX/Tip1/Content": "Let's take a tour of the app and how to use it.\n\nYou can replay this tutorial at any time from the Settings tab.\n\n1 of 12", + "/NUX/Tip1/Content": "Let's take a tour of the app and how to use it.\n\nYou can replay this tutorial at any time from the Settings tab.\n\n1 of 14", "/NUX/Tip2/Title": "Connecting trackers", - "/NUX/Tip2/Content": "Click here to connect the Amethyst trackers to {0}. (If your VR controllers are unresponsive, disconnect and reconnect the trackers)\n\n2 of 12", + "/NUX/Tip2/Content": "Click here to connect the Amethyst trackers to {0}. (If your VR controllers are unresponsive, disconnect and reconnect the trackers)\n\n2 of 14", "/NUX/Tip3/Title": "Calibration and alignment", - "/NUX/Tip3/Content": "Before using your trackers, you must go through calibration to align them to your existing VR play area.\n\n3 of 12", + "/NUX/Tip3/Content": "Before using your trackers, you must go through calibration to align them to your existing VR play area.\n\n3 of 14", "/NUX/Tip4/Title": "Devices at a glance", - "/NUX/Tip4/Content": "Here you can see what devices are currently active for tracking.\nAny problems or errors will show up here too.\n\n4 of 12", + "/NUX/Tip4/Content": "Here you can see what devices are currently active for tracking.\nAny problems or errors will show up here too.\n\n4 of 14", "/NUX/Tip5/Title": "Configuring trackers", - "/NUX/Tip5/Content": "You can enable or disable trackers here, and set their rotation and filter settings by expanding each category.\nSee the link on the right for more info.\n\n5 of 12", + "/NUX/Tip5/Content": "You can enable or disable trackers here, and set their rotation and filter settings by expanding each category.\nSee the link on the right for more info.\n\n5 of 14", "/NUX/Tip6/Title": "Enable more trackers", - "/NUX/Tip6/Content": "Click the gear icon to enable or disable more trackers than shown by default. (Not all trackers are supported by every app)\n\n6 of 12", + "/NUX/Tip6/Content": "Click the gear icon to enable or disable more trackers than shown by default. (Not all trackers are supported by every app)\n\n6 of 14", "/NUX/Tip7/Title": "Start Amethyst with {0}", - "/NUX/Tip7/Content": "Instead of searching for the app on your computer each time, you can click the dropdown to enable Amethyst start alongside {0}.\n\n7 of 12", + "/NUX/Tip7/Content": "Instead of searching for the app on your computer each time, you can click the dropdown to enable Amethyst start alongside {0}.\n\n7 of 14", "/NUX/Tip8/Title": "Available devices", - "/NUX/Tip8/Content": "Here you can see the list of devices available to Amethyst. If something is missing, you most likely don't have the drivers for it.\n\n8 of 12", + "/NUX/Tip8/Content": "Here you can see the list of devices available to Amethyst. If something is missing, you most likely don't have the drivers for it.\n\n8 of 14", "/NUX/Tip9/Title": "Configure and check on devices", - "/NUX/Tip9/Content": "Check the the status of devices and change per-device settings.\nErrors will show up here.\n\n9 of 12", + "/NUX/Tip9/Content": "Check the the status of devices and change per-device settings.\nErrors will show up here.\n\n9 of 14", "/NUX/Tip10/Title": "Overrides and troubleshooting", - "/NUX/Tip10/Content": "The buttons on the right will let you set a device as the base or override, refresh it and get help whenever an error happens.\n\n10 of 12", + "/NUX/Tip10/Content": "The buttons on the right will let you set a device as the base or override, refresh it and get help whenever an error happens.\n\n10 of 14", "/NUX/Tip11/Title": "Getting help and support", - "/NUX/Tip11/Content": "Click the Help button on any page to get links to documentation about that page. Join us on Discord if you have any questions.\n\n11 of 12", - "/NUX/Tip12/Title": "Thank you!", - "/NUX/Tip12/Content": "Amethyst took a while to make and get it to where it's at now.\nSo, you better go have fun.\n\n12 of 12" + "/NUX/Tip11/Content": "Click the Help button on any page to get links to documentation about that page. Join us on Discord if you have any questions.\n\n11 of 14", + "/NUX/Tip12/Title": "Managing plugins", + "/NUX/Tip12/Content": "These are the plugins that are currently installed on Amethyst. From this list, you can toggle each plugin on or off, update them, and see any errors.\n\n12 of 14", + "/NUX/Tip13/Title": "Getting new plugins", + "/NUX/Tip13/Content": "Amethyst allows you to search for new plugins and install them directly within the app. You can also paste direct links, or drag in ZIP files.\n\n13 of 14", + "/NUX/Tip14/Title": "Thank you!", + "/NUX/Tip14/Content": "Amethyst took a while to make and get it to where it's at now.\nSo, you better go have fun.\n\n14 of 14" } \ No newline at end of file diff --git a/Amethyst/Classes/Shared.cs b/Amethyst/Classes/Shared.cs index d7afa713..cb91d5cc 100644 --- a/Amethyst/Classes/Shared.cs +++ b/Amethyst/Classes/Shared.cs @@ -374,7 +374,8 @@ public static class TeachingTips { public static class MainPage { - public static TeachingTip InitializerTeachingTip; + public static TeachingTip + InitializerTeachingTip, EndingTeachingTip; public static InfoBar ReloadInfoBar; } @@ -404,5 +405,11 @@ public static class InfoPage public static TeachingTip HelpTeachingTip; } + + public static class PluginsPage + { + public static TeachingTip + ManagerTeachingTip, StoreTeachingTip; + } } } \ No newline at end of file diff --git a/Amethyst/MainWindow.xaml b/Amethyst/MainWindow.xaml index f5b80f9d..8fbee54b 100644 --- a/Amethyst/MainWindow.xaml +++ b/Amethyst/MainWindow.xaml @@ -97,6 +97,17 @@ ActionButtonClick="InitializerTeachingTip_ActionButtonClick" CloseButtonClick="InitializerTeachingTip_CloseButtonClick" /> + + - - diff --git a/Amethyst/Pages/Info.xaml.cs b/Amethyst/Pages/Info.xaml.cs index ae4d4f0f..5ee8ac81 100644 --- a/Amethyst/Pages/Info.xaml.cs +++ b/Amethyst/Pages/Info.xaml.cs @@ -93,10 +93,7 @@ private async void HelpTeachingTip_ActionButtonClick(TeachingTip sender, object // Dismiss the current tip HelpTeachingTip.IsOpen = false; await Task.Delay(400); - - // Reset the next page layout (if ever changed) - Shared.Settings.PageMainScrollViewer?.ScrollToVerticalOffset(0); - + // Navigate to the devices page Shared.Main.MainNavigationView.SelectedItem = Shared.Main.MainNavigationView.MenuItems[2]; @@ -111,41 +108,25 @@ private async void HelpTeachingTip_ActionButtonClick(TeachingTip sender, object Shared.TeachingTips.DevicesPage.DeviceControlsTeachingTip.IsOpen = true; } - private void HelpTeachingTip_CloseButtonClick(TeachingTip sender, object args) + private async void HelpTeachingTip_CloseButtonClick(TeachingTip sender, object args) { // Play a sound AppSounds.PlayAppSound(AppSounds.AppSoundType.Invoke); - EndingTeachingTip.TailVisibility = TeachingTipTailVisibility.Collapsed; - EndingTeachingTip.IsOpen = true; - } - - private async void EndingTeachingTip_CloseButtonClick(TeachingTip sender, object args) - { - // Play a sound - AppSounds.PlayAppSound(AppSounds.AppSoundType.Invoke); - - // Dismiss the current tip - EndingTeachingTip.IsOpen = false; - await Task.Delay(200); - - // Unblock the interface - Shared.Main.InterfaceBlockerGrid.Opacity = 0.0; - Shared.Main.InterfaceBlockerGrid.IsHitTestVisible = false; - - Interfacing.IsNuxPending = false; - - // Navigate to the general page + // Navigate to the plugin page Shared.Main.MainNavigationView.SelectedItem = - Shared.Main.MainNavigationView.MenuItems[0]; - Shared.Main.NavigateToPage("general", + Shared.Main.MainNavigationView.FooterMenuItems[0]; + Shared.Main.NavigateToPage("plugins", new EntranceNavigationTransitionInfo()); - // We're done - AppData.Settings.FirstTimeTourShown = true; - AppData.Settings.SaveSettings(); - } + // Wait a bit + await Task.Delay(500); + // Show the next tip + Shared.TeachingTips.PluginsPage.ManagerTeachingTip.TailVisibility = TeachingTipTailVisibility.Collapsed; + Shared.TeachingTips.PluginsPage.ManagerTeachingTip.IsOpen = true; + } + private void K2DoubleTapped(object sender, DoubleTappedRoutedEventArgs e) { // Show a console-text-box popup diff --git a/Amethyst/Pages/Plugins.xaml b/Amethyst/Pages/Plugins.xaml index e669fdb5..495954ec 100644 --- a/Amethyst/Pages/Plugins.xaml +++ b/Amethyst/Pages/Plugins.xaml @@ -28,10 +28,6 @@ - - + + + + + + @@ -681,6 +695,20 @@ + + + + diff --git a/Amethyst/Pages/Plugins.xaml.cs b/Amethyst/Pages/Plugins.xaml.cs index e955707d..2a129e42 100644 --- a/Amethyst/Pages/Plugins.xaml.cs +++ b/Amethyst/Pages/Plugins.xaml.cs @@ -21,6 +21,7 @@ using Microsoft.UI.Xaml; using Microsoft.UI.Xaml.Controls; using Microsoft.UI.Xaml.Input; +using Microsoft.UI.Xaml.Media.Animation; using Newtonsoft.Json.Linq; using RestSharp; using static Amethyst.Classes.Interfacing; @@ -46,7 +47,9 @@ public Plugins() InitializeComponent(); Logger.Info($"Constructing page: '{GetType().FullName}'..."); - // TODO TeachingTips + + Shared.TeachingTips.PluginsPage.ManagerTeachingTip = PluginsListTeachingTip; + Shared.TeachingTips.PluginsPage.StoreTeachingTip = PluginsStoreTeachingTip; RequestShowRateExceededEvent += (_, _) => Shared.Main.DispatcherQueue.TryEnqueue(() => @@ -381,8 +384,8 @@ await ExecuteSearch(text // The provided text is a link DropInstallerGrid.Opacity = 1.0; AppSounds.PlayAppSound(AppSounds.AppSoundType.CalibrationComplete); - // Search for an empty folder in AppData - var installFolder = GetAppDataPluginFolderDir( + // Search for an empty folder in AppData + var installFolder = GetAppDataPluginFolderDir( string.Join("_", Guid.NewGuid().ToString().ToUpper() .Split(Path.GetInvalidFileNameChars().Append('.').ToArray()))); @@ -451,8 +454,8 @@ await ExecuteSearch(text // The provided text is a link DropInstallerMessageTextBlock.Opacity = 1.0; AppSounds.PlayAppSound(AppSounds.AppSoundType.CalibrationComplete); - // Wait a moment and hide - await Task.Delay(3500); + // Wait a moment and hide + await Task.Delay(3500); // Unlock other controls SearchButton.IsEnabled = true; @@ -539,8 +542,8 @@ await ExecuteSearch(text // The provided text is a link DropInstallerGrid.Opacity = 1.0; AppSounds.PlayAppSound(AppSounds.AppSoundType.CalibrationComplete); - // Search for an empty folder in AppData - var installFolder = GetAppDataPluginFolderDir( + // Search for an empty folder in AppData + var installFolder = GetAppDataPluginFolderDir( string.Join("_", Guid.NewGuid().ToString().ToUpper() .Split(Path.GetInvalidFileNameChars().Append('.').ToArray()))); @@ -607,8 +610,8 @@ await ExecuteSearch(text // The provided text is a link DropInstallerMessageTextBlock.Opacity = 1.0; AppSounds.PlayAppSound(AppSounds.AppSoundType.CalibrationComplete); - // Wait a moment and hide - await Task.Delay(3500); + // Wait a moment and hide + await Task.Delay(3500); // Unlock other controls SearchButton.IsEnabled = true; @@ -692,8 +695,8 @@ await ExecuteSearch(text // The provided text is a link DropInstallerGrid.Opacity = 1.0; AppSounds.PlayAppSound(AppSounds.AppSoundType.CalibrationComplete); - // Search for an empty folder in AppData - var installFolder = GetAppDataPluginFolderDir( + // Search for an empty folder in AppData + var installFolder = GetAppDataPluginFolderDir( string.Join("_", Guid.NewGuid().ToString().ToUpper() .Split(Path.GetInvalidFileNameChars().Append('.').ToArray()))); @@ -749,8 +752,8 @@ await ExecuteSearch(text // The provided text is a link DropInstallerMessageTextBlock.Opacity = 1.0; AppSounds.PlayAppSound(AppSounds.AppSoundType.CalibrationComplete); - // Wait a moment and hide - await Task.Delay(3500); + // Wait a moment and hide + await Task.Delay(3500); // Unlock other controls SearchButton.IsEnabled = true; @@ -1237,4 +1240,70 @@ private void Expander_Expanding(Expander sender, ExpanderExpandingEventArgs args if (!(sender?.IsLoaded ?? false)) return; AppSounds.PlayAppSound(AppSounds.AppSoundType.Show); } + + private async void PluginsListTeachingTip_ActionButtonClick(TeachingTip sender, object args) + { + // Play a sound + AppSounds.PlayAppSound(AppSounds.AppSoundType.Invoke); + await Task.Delay(200); + + // Navigate to the info page + Shared.Main.MainNavigationView.SelectedItem = + Shared.Main.MainNavigationView.MenuItems[3]; + + Shared.Main.NavigateToPage("info", + new EntranceNavigationTransitionInfo()); + + await Task.Delay(500); + + // Show the next tip + Shared.TeachingTips.InfoPage.HelpTeachingTip.TailVisibility = TeachingTipTailVisibility.Collapsed; + Shared.TeachingTips.InfoPage.HelpTeachingTip.IsOpen = true; + } + + private void PluginsListTeachingTip_CloseButtonClick(TeachingTip sender, object args) + { + // Play a sound + AppSounds.PlayAppSound(AppSounds.AppSoundType.Invoke); + + // Close the current tip + PluginsListTeachingTip.IsOpen = false; + + // Show the previous one + PluginsStoreTeachingTip.TailVisibility = TeachingTipTailVisibility.Collapsed; + PluginsStoreTeachingTip.IsOpen = true; + } + + private void PluginsStoreTeachingTip_ActionButtonClick(TeachingTip sender, object args) + { + // Play a sound + AppSounds.PlayAppSound(AppSounds.AppSoundType.Invoke); + + // Close the current tip + PluginsStoreTeachingTip.IsOpen = false; + + // Show the previous one + PluginsListTeachingTip.TailVisibility = TeachingTipTailVisibility.Collapsed; + PluginsListTeachingTip.IsOpen = true; + } + + private async void PluginsStoreTeachingTip_CloseButtonClick(TeachingTip sender, object args) + { + // Play a sound + AppSounds.PlayAppSound(AppSounds.AppSoundType.Invoke); + await Task.Delay(200); + + // Navigate to the info page + Shared.Main.MainNavigationView.SelectedItem = + Shared.Main.MainNavigationView.MenuItems[0]; + + Shared.Main.NavigateToPage("general", + new EntranceNavigationTransitionInfo()); + + await Task.Delay(500); + + // Show the next tip + Shared.TeachingTips.MainPage.EndingTeachingTip.TailVisibility = TeachingTipTailVisibility.Collapsed; + Shared.TeachingTips.MainPage.EndingTeachingTip.IsOpen = true; + } } \ No newline at end of file