Commit aac2a647 authored by Amy Yan's avatar Amy Yan

Merge branch 'vue-rewrite-delete-unused-assets' into 'vue-rewrite'

# Conflicts:
#   src/views/Library.vue
parents 807e2f10 8231e103
...@@ -38,7 +38,8 @@ ...@@ -38,7 +38,8 @@
x: e.pageX, x: e.pageX,
y: e.pageY, y: e.pageY,
items: [ items: [
{ icon: "delete", title: "Delete", method: () => { this.$parent.$parent.$emit('delete', this.$props.file); } } { icon: "delete", title: "Delete", method: () => { this.$parent.$parent.$emit('delete', this.$props.file); } },
{ icon: "delete", title: "Delete All Unneeded Files", method: () => { this.$parent.$parent.$emit('deleteUnneeded'); } }
]}); ]});
} }
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<section class="section-library" @dragover.prevent @drop.stop.prevent="drop()"> <section class="section-library" @dragover.prevent @drop.stop.prevent="drop()">
<SongRow :title="$t('library.installed.header')"> <SongRow :title="$t('library.installed.header')">
<template v-slot:controls> <template v-slot:controls>
<div class="item"></div> <div></div>
<div class="item" v-on:click="refreshLibrary()"><i class="mdi mdi-refresh"></i></div> <div class="item" v-on:click="refreshLibrary()"><i class="mdi mdi-refresh"></i></div>
</template> </template>
<template v-slot:song-list> <template v-slot:song-list>
...@@ -71,6 +71,12 @@ ...@@ -71,6 +71,12 @@
}); });
this.$on('install', () => { this.$on('install', () => {
this.install(); this.install();
this.$on('deleteUnneeded', (file) => {
this.getUnusedFiles().then( (data) => {
data.thisData.deleteFiles = data.differingAssets;
data.thisData.showDeleteOverlay = true;
console.log(data.thisData.deleteFiles);
});
}); });
}, },
methods: { methods: {
...@@ -193,6 +199,42 @@ ...@@ -193,6 +199,42 @@
}); });
} }
} }
getUnusedFiles: async function() {
let userSettings = new UserSettings();
let allLinkedAssets = [[] , []];
let differingAssets = [];
//Create array of assets from the srtb files
let allLinkedAssetsPromise = new Promise((resolve, reject) => {
glob(path.join(userSettings.get('gameDirectory'), "*.srtb"), (error, files) => {
files.forEach((file) => {
allLinkedAssets[0].push((this.getConnectedFiles(file)).slice(1)[0]);
allLinkedAssets[1].push((this.getConnectedFiles(file)).slice(1)[1]);
});
resolve(allLinkedAssets);
})
});
//Waits for resolve in order to avoid bug where all songs would be added to differingAssets
let allLinkedAssetsResults = await allLinkedAssetsPromise;
//Creates differingAssets by seeing if each entry in the assets folder is included in the allLinkedAssets.
glob(path.join(userSettings.get('gameDirectory'), "AlbumArt", "*"), (error, files) => {
files.forEach((file) => {
if (allLinkedAssetsResults[0].includes(file)){}
else{differingAssets.push(file);}
});
});
glob(path.join(userSettings.get('gameDirectory'), "AudioClips", "*.ogg"), (error, files) => {
files.forEach((file) => {
if (allLinkedAssetsResults[1].includes(file)){}
else{differingAssets.push(file);}
});
});
let thisData = this.$data;
return {differingAssets, thisData};
},
} }
} }
</script> </script>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment