summaryrefslogtreecommitdiff
path: root/src/tutorials
diff options
context:
space:
mode:
authorSilarn <jrim@rimpo.org>2019-07-04 23:14:15 -0500
committerSilarn <jrim@rimpo.org>2019-07-04 23:14:15 -0500
commit0596a7199094cc8d103dfe2cfdcd20046c04e85d (patch)
tree8abee4ef3e03d3864c6a9f175822c448d73ec3f2 /src/tutorials
parentdfd34bf9c0ad055e76c1b6f272c21eb0d79536ce (diff)
Various fixes and updates to the tutorial system
* Fix problem with main tutorial advancing past mod activation * Add various missing overlays for new and updated features * Restore BSA tab * Fix problem with positioning action button overlays (requires uibase)
Diffstat (limited to 'src/tutorials')
-rw-r--r--src/tutorials/tutorial_firststeps_main.js4
-rw-r--r--src/tutorials/tutorial_primer_main.js30
-rw-r--r--src/tutorials/tutorials.js3
3 files changed, 28 insertions, 9 deletions
diff --git a/src/tutorials/tutorial_firststeps_main.js b/src/tutorials/tutorial_firststeps_main.js
index 35d1aa11..45e7e649 100644
--- a/src/tutorials/tutorial_firststeps_main.js
+++ b/src/tutorials/tutorial_firststeps_main.js
@@ -108,11 +108,11 @@ function getTutorialSteps()
tutorial.text = qsTr("Install a few more mods if you want, then enable mods by checking them in the left pane. "
+ "Mods that aren't enabled have no effect on the game whatsoever. ")
highlightItem("modList", true)
- modList.modlist_changed.connect(nextStep)
+ modList.tutorialModlistUpdate.connect(nextStep)
},
function() {
- modList.modlist_changed.disconnect(nextStep)
+ modList.tutorialModlistUpdate.disconnect(nextStep)
unhighlight()
tutorial.text = qsTr("For some mods, enabling it on the left pane is all you have to do...")
waitForClick()
diff --git a/src/tutorials/tutorial_primer_main.js b/src/tutorials/tutorial_primer_main.js
index 5af99237..dd305c0c 100644
--- a/src/tutorials/tutorial_primer_main.js
+++ b/src/tutorials/tutorial_primer_main.js
@@ -42,6 +42,7 @@ function finishCreation(component, widgetName, explanation, maxheight, clickable
function tooltipAction(actionName, explanation, maxheight, clickable) {
var rect = tutorialControl.getActionRect(actionName)
+ var offsetRect = tutorialControl.getMenuRect(actionName)
var component = Qt.createComponent("TooltipArea.qml")
if (typeof clickable === 'undefined') {
clickable = false
@@ -51,7 +52,7 @@ function tooltipAction(actionName, explanation, maxheight, clickable) {
}
var obj = component.createObject(tutToplevel,
{ "x" : rect.x,
- "y" : rect.y,
+ "y" : rect.y + offsetRect.height,
"width" : rect.width,
"height" : maxheight
})
@@ -70,6 +71,11 @@ function setupTooptips() {
tooltipWidget("modList", qsTr("This window shows all the mods that are installed. The column headers can be used for sorting. Only checked mods are active in the current profile."))
tooltipWidget("profileBox", qsTr("Each profile is a separate set of enabled mods and ini settings."))
+ tooltipWidget("listOptionsBtn", qsTr("Perform various actions on your mod list, such as refreshing data and checking for mod updates."))
+ tooltipWidget("openFolderMenu", qsTr("Quick access to various directories, such as your MO2 mods, profiles, saves, and your active game location."))
+ tooltipWidget("restoreModsButton", qsTr("Restore a mod list backup."))
+ tooltipWidget("saveModsButton", qsTr("Create a backup of your current mod list."))
+ tooltipWidget("activeModsCounter", qsTr("Running counter of your active mods. Hover to see a more detailed breakdown."))
tooltipWidget("groupCombo", qsTr("The dropdown allows various ways of grouping the mods shown in the mod list."))
tooltipWidget("displayCategoriesBtn", qsTr("Show/hide the category pane."))
tooltipWidget("modFilterEdit", qsTr("Quickly filter the mod list as you type."))
@@ -79,27 +85,39 @@ function setupTooptips() {
tooltipWidget("startButton", qsTr("When this button is clicked, Mod Organizer creates a virtual directory structure then runs the program selected to the left."))
tooltipWidget("linkButton", qsTr("Will create a shortcut for quick access. The shortcut can be placed in the toolbar at the top, in the Start Menu or on the Windows Desktop."))
tooltipWidget("logList", qsTr("Log messages produced by MO. Please note that messages with a light bulb usually don't require your attention."))
+ tooltipWidget("apistats", qsTr("Indicator of your current NexusMods API request limits."))
+ tooltipAction("actionChange_Game", qsTr("Change/manage MO2 instances or switch to portable mode."))
+ tooltipAction("actionInstallMod", qsTr("Browse to and manually install a mod from an archive on your computer."))
+ tooltipAction("actionNexus", qsTr("Automatically open NexusMods to browse and install mods via the API."))
+ tooltipAction("actionAdd_Profile", qsTr("Manage your MO2 profiles."))
+ tooltipAction("actionModify_Executables", qsTr("Open the executable editor to add and modify applications you wish to run with MO2."))
+ tooltipAction("actionTool", qsTr("Select from a collection of additional tools, such as an INI editor, integrated FNIS updater, and more."))
tooltipAction("actionSettings", qsTr("Configure Mod Organizer."))
+ tooltipAction("actionEndorseMO", qsTr("See the status of and/or endorse MO2 on NexusMods."))
tooltipAction("actionNotifications", qsTr("Notifications about the current setup."))
tooltipAction("actionUpdate", qsTr("Activates if there is an update for MO. Please note that if, for any reason, MO can't communicate with NMM, this will not work either."))
+ tooltipAction("actionHelp", qsTr("Access more information about MO2, including these tutorials, a link to the development discord, information about the devs and dependencies."))
switch (manager.findControl("tabWidget").currentIndex) {
case 0:
tooltipWidget("espList", qsTr("Plugins (esp/esm/esl files) of the mods in the current profile. They need to be checked to be loaded."))
tooltipWidget("bossButton", qsTr("Automatically sort plugins using the bundled LOOT application."))
+ tooltipWidget("restoreButton", qsTr("Restore a backup of your plugin list order."))
+ tooltipWidget("saveButton", qsTr("Save a backup of your plugin list order."))
+ tooltipWidget("activePluginsCounter", qsTr("Counter of your total active plugins. Hover to see a breakdown of plugin types."))
tooltipWidget("espFilterEdit", qsTr("Quickly filter plugin list as you type."))
break
- // case 1:
- // tooltipWidget("bsaList", qsTr("All the asset archives (.bsa files) for all active mods."))
- // break
case 1:
- tooltipWidget("dataTree", qsTr("The directory tree and all files that the program will see."))
+ tooltipWidget("bsaList", qsTr("All the asset archives (.bsa files) for all active mods."))
break
case 2:
- tooltipWidget("savegameList", qsTr("Save game browser. Shows all the saves for the current profile and whether or not the current mod-load status is correct."))
+ tooltipWidget("dataTree", qsTr("The directory tree and all files that the program will see."))
break
case 3:
+ tooltipWidget("savegameList", qsTr("Save game browser. Shows all the saves for the current profile and whether or not the current mod-load status is correct."))
+ break
+ case 4:
tooltipWidget("downloadView", qsTr("Shows the mods that have been downloaded and if they’ve been installed."))
break
}
diff --git a/src/tutorials/tutorials.js b/src/tutorials/tutorials.js
index eb23eab7..cdb16d59 100644
--- a/src/tutorials/tutorials.js
+++ b/src/tutorials/tutorials.js
@@ -18,8 +18,9 @@ function highlightItem(widgetName, click) {
function highlightAction(actionName, click) {
var rect = tutorialControl.getActionRect(actionName)
+ var offsetRect = tutorialControl.getMenuRect(actionName)
highlight.x = rect.x - 1
- highlight.y = rect.y - 1
+ highlight.y = rect.y + offsetRect.height
highlight.width = rect.width + 2
highlight.height = rect.height + 2
if (click) {