Skip to content

Commit

Permalink
feat: add button to edit crowsnest.conf in webcam settings (#1037)
Browse files Browse the repository at this point in the history
  • Loading branch information
meteyou authored Aug 23, 2022
1 parent 14f6799 commit 99075fb
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 1 deletion.
29 changes: 28 additions & 1 deletion src/components/settings/SettingsWebcamsTab.vue
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,11 @@
</settings-row>
</div>
</v-card-text>
<v-card-actions class="d-flex justify-end">
<v-card-actions>
<v-btn v-if="existCrowsnestConf" text color="primary" @click="openCrowsnestConf">
{{ $t('Settings.WebcamsTab.EditCrowsnestConf') }}
</v-btn>
<v-spacer></v-spacer>
<v-btn text color="primary" @click="createWebcam">{{ $t('Settings.WebcamsTab.AddWebcam') }}</v-btn>
</v-card-actions>
</v-card>
Expand Down Expand Up @@ -213,6 +217,7 @@ import Uv4lMjpeg from '@/components/webcams/Uv4lMjpeg.vue'
import Ipstreamer from '@/components/webcams/Ipstreamer.vue'
import { mdiMenuDown, mdiDelete, mdiPencil, mdiWebcam } from '@mdi/js'
import WebcamMixin from '@/components/mixins/webcam'
import { FileStateFile } from '@/store/files/types'
interface webcamForm {
bool: boolean
Expand Down Expand Up @@ -313,6 +318,18 @@ export default class SettingsWebcamsTab extends Mixins(BaseMixin, WebcamMixin) {
return ''
}
get configfiles() {
return this.$store.getters['files/getDirectory']('config')?.childrens ?? []
}
get crowsnestConf(): FileStateFile | null {
return this.configfiles.find((file: FileStateFile) => file.filename === 'crowsnest.conf')
}
get existCrowsnestConf(): boolean {
return this.configfiles.findIndex((file: FileStateFile) => file.filename === 'crowsnest.conf') !== -1
}
getSubtitle(webcam: GuiWebcamStateWebcam) {
return 'URL: ' + (webcam.service === 'mjpegstreamer-adaptive' ? webcam.urlSnapshot : webcam.urlStream)
}
Expand Down Expand Up @@ -393,6 +410,16 @@ export default class SettingsWebcamsTab extends Mixins(BaseMixin, WebcamMixin) {
setFormIcon(icon: string) {
this.form.icon = icon
}
openCrowsnestConf() {
this.$store.dispatch('editor/openFile', {
root: 'config',
path: '/',
filename: this.crowsnestConf?.filename,
size: this.crowsnestConf?.size,
permissions: this.crowsnestConf?.permissions,
})
}
}
</script>

Expand Down
1 change: 1 addition & 0 deletions src/locales/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -951,6 +951,7 @@
"WebcamsTab": {
"AddWebcam": "Webcam hinzufügen",
"CreateWebcam": "Erstelle Webcam",
"EditCrowsnestConf": "crowsnest.conf bearbeiten",
"EditWebcam": "Webcam bearbeiten",
"FlipHorizontally": "Webcam waagerecht spiegeln",
"FlipVertically": "Webcam vertikal spiegeln",
Expand Down
1 change: 1 addition & 0 deletions src/locales/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -951,6 +951,7 @@
"WebcamsTab": {
"AddWebcam": "add webcam",
"CreateWebcam": "Create Webcam",
"EditCrowsnestConf": "Edit crowsnest.conf",
"EditWebcam": "Edit Webcam",
"FlipHorizontally": "Flip webcam horizontally",
"FlipVertically": "Flip webcam vertically",
Expand Down

0 comments on commit 99075fb

Please sign in to comment.