Add RSS settings

close #70
This commit is contained in:
CzBiX
2021-08-06 19:34:30 +08:00
parent 6ac35db455
commit 48ca9f6c7e
4 changed files with 79 additions and 4 deletions

View File

@@ -0,0 +1,61 @@
<template>
<v-container>
<v-switch
:input-value="preferences.rss_processing_enabled"
:label="$t('preferences.rss_processing_enabled')"
@change="changeSettings('rss_processing_enabled', !preferences.rss_processing_enabled)"
/>
<v-switch
:input-value="preferences.rss_auto_downloading_enabled"
:label="$t('preferences.rss_auto_downloading_enabled')"
@change="changeSettings('rss_auto_downloading_enabled', !preferences.rss_auto_downloading_enabled)"
/>
<v-text-field
suffix="min"
type="number"
:value="preferences.rss_refresh_interval"
:label="$t('preferences.rss_refresh_interval')"
@change="changeSettings('rss_refresh_interval', $event)"
/>
</v-container>
</template>
<script lang="ts">
import Vue from 'vue'
import {Preferences} from '@/types'
import {Component} from 'vue-property-decorator'
import {mapActions, mapGetters} from 'vuex'
@Component({
components: {},
computed: {
...mapGetters({
preferences: 'allPreferences',
}),
},
methods: {
...mapActions({
updatePreferencesRequest: 'updatePreferencesRequest',
}),
},
})
export default class SpeedSettings extends Vue {
preferences!: Preferences
updatePreferencesRequest!: (_: any) => void
changeSettings(property: string, value: string | boolean | number) {
this.updatePreferencesRequest({[property]: value})
}
}
</script>
<style lang="scss" scoped>
@import "~@/assets/styles.scss";
.v-input--switch {
margin: 0
}
@include dialog-title;
</style>

View File

@@ -5,7 +5,7 @@
@input="$emit('input', $event)"
scrollable
persistent
fullscreen
max-width="720px"
>
<v-card>
<v-card-title class="headline">
@@ -45,6 +45,9 @@
<v-tab-item key="speed">
<speed-settings />
</v-tab-item>
<v-tab-item key="rss">
<rss-settings />
</v-tab-item>
<v-tab-item key="webui">
<web-u-i-settings />
</v-tab-item>
@@ -62,7 +65,8 @@ import DownloadSettings from './DownloadSettings.vue'
import SpeedSettings from './SpeedSettings.vue'
import {mapGetters} from 'vuex'
import {Preferences} from '@/types'
import WebUISettings from '@/components/dialogs/settingsDialog/WebUISettings.vue'
import WebUISettings from './WebUISettings.vue'
import RssSettings from './RssSettings.vue'
import {Config} from '@/store/config'
import { timeout } from '@/utils'
@@ -71,6 +75,7 @@ import { timeout } from '@/utils'
DownloadSettings,
SpeedSettings,
WebUISettings,
RssSettings,
},
computed: {
...mapGetters({
@@ -87,8 +92,8 @@ export default class SettingsDialog extends Vue {
config!: Config
preferenceUpdated = false
tabList = ['downloads', 'speed', 'webui']
tab = 'speed'
tabList = ['downloads', 'speed', 'rss', 'webui']
tab = 'download'
@Watch('preferences')
@Watch('config')

View File

@@ -109,6 +109,11 @@ export default {
connection: 'Connections',
bittorrent: 'BitTorrent',
rss: 'RSS',
rss_processing_enabled: 'Enable fetching RSS feeds',
rss_auto_downloading_enabled: 'Enable auto downloading of RSS torrents',
rss_refresh_interval: 'Feeds refresh interval',
webui: 'Web UI',
data_update_interval: 'Data Update Interval (ms)',
webui_remote_control: 'Web User Interface (Remote control)',

View File

@@ -106,6 +106,10 @@ export default {
connection: '连接',
bittorrent: 'BitTorrent',
rss_processing_enabled: '启用自动刷新',
rss_auto_downloading_enabled: '启用自动下载种子',
rss_refresh_interval: '订阅刷新间隔',
webui: 'Web UI',
data_update_interval: '数据更新频率(ms)',
webui_remote_control: 'Web 用户界面(远程控制)',