diff options
Diffstat (limited to 'src-vue/src/views/SettingsView.vue')
-rw-r--r-- | src-vue/src/views/SettingsView.vue | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src-vue/src/views/SettingsView.vue b/src-vue/src/views/SettingsView.vue index b1a62c56..88a5d588 100644 --- a/src-vue/src/views/SettingsView.vue +++ b/src-vue/src/views/SettingsView.vue @@ -34,9 +34,9 @@ <!-- Northstar Active Profile --> <div class="fc_parameter__panel" v-if="$store.state.developer_mode"> <h3>{{ $t('settings.profile.active') }}</h3> - <el-dropdown trigger="click"> + <el-dropdown trigger="click" :disabled="!availableProfiles.length"> <el-button> - {{ $store.state.game_install.profile }} <el-icon class="el-icon--right"><arrow-down /></el-icon> + {{ activeProfile }} <el-icon class="el-icon--right" v-if="availableProfiles.length"><arrow-down /></el-icon> </el-button> <template #dropdown> <el-dropdown-menu> @@ -173,7 +173,10 @@ export default defineComponent({ await persistentStore.save(); // explicit save to disk } }, - availableProfiles(): Object { + activeProfile(): String { + return this.$store.state.game_install.profile || "None"; + }, + availableProfiles(): Object[] { let profiles = this.$store.state.available_profiles // convert string array to object array so we can fill a table @@ -209,6 +212,15 @@ export default defineComponent({ }); }, async openGameInstallFolder() { + // Verify the game path is actually set + if (!this.$store.state.game_install.game_path) { + showErrorNotification( + i18n.global.tc('notification.game_folder.not_found.text'), + i18n.global.tc('notification.game_folder.not_found.title') + ); + return; + } + // Opens the folder in default file explorer application await open(`${this.$store.state.game_install.game_path}`); }, |