FreeTube/src/renderer/components/player-settings/player-settings.vue

239 lines
8.0 KiB
Vue
Raw Normal View History

2020-02-21 21:40:46 +01:00
<template>
<details>
<summary>
<h3>
{{ $t("Settings.Player Settings.Player Settings") }}
</h3>
</summary>
<hr>
2020-03-27 12:37:54 +01:00
<div class="switchColumnGrid">
<div class="switchColumn">
<ft-toggle-switch
v-if="false"
2020-03-27 12:37:54 +01:00
label="Enable Subtitles by Default"
:compact="true"
2020-03-27 12:37:54 +01:00
:default-value="enableSubtitles"
@change="updateEnableSubtitles"
/>
<ft-toggle-switch
:label="$t('Settings.Player Settings.Force Local Backend for Legacy Formats')"
:compact="true"
:disabled="backendPreference === 'local'"
2020-03-27 12:37:54 +01:00
:default-value="forceLocalBackendForLegacy"
:tooltip="$t('Tooltips.Player Settings.Force Local Backend for Legacy Formats')"
2020-03-27 12:37:54 +01:00
@change="updateForceLocalBackendForLegacy"
/>
<ft-toggle-switch
:label="$t('Settings.Player Settings.Proxy Videos Through Invidious')"
:compact="true"
2020-03-27 12:37:54 +01:00
:default-value="proxyVideos"
:tooltip="$t('Tooltips.Player Settings.Proxy Videos Through Invidious')"
2020-03-27 12:37:54 +01:00
@change="updateProxyVideos"
/>
<ft-toggle-switch
:label="$t('Settings.Player Settings.Enable Theatre Mode by Default')"
:compact="true"
:default-value="defaultTheatreMode"
@change="updateDefaultTheatreMode"
/>
<ft-toggle-switch
:label="$t('Settings.Player Settings.Scroll Volume Over Video Player')"
:compact="true"
:default-value="videoVolumeMouseScroll"
@change="updateVideoVolumeMouseScroll"
/>
<ft-toggle-switch
:label="$t('Settings.Player Settings.Scroll Playback Rate Over Video Player')"
:compact="true"
:default-value="videoPlaybackRateMouseScroll"
:tooltip="$t('Tooltips.Player Settings.Scroll Playback Rate Over Video Player')"
@change="updateVideoPlaybackRateMouseScroll"
/>
<ft-toggle-switch
:label="$t('Settings.Player Settings.Display Play Button In Video Player')"
:compact="true"
:default-value="displayVideoPlayButton"
@change="updateDisplayVideoPlayButton"
/>
2020-03-27 12:37:54 +01:00
</div>
<div class="switchColumn">
<ft-toggle-switch
:label="$t('Settings.Player Settings.Autoplay Videos')"
:compact="true"
2020-03-27 12:37:54 +01:00
:default-value="autoplayVideos"
@change="updateAutoplayVideos"
/>
<ft-toggle-switch
:label="$t('Settings.Player Settings.Autoplay Playlists')"
:compact="true"
2020-03-27 12:37:54 +01:00
:default-value="autoplayPlaylists"
@change="updateAutoplayPlaylists"
/>
<ft-toggle-switch
:label="$t('Settings.Player Settings.Play Next Video')"
:compact="true"
:disabled="hideRecommendedVideos"
2020-03-27 12:37:54 +01:00
:default-value="playNextVideo"
@change="updatePlayNextVideo"
/>
</div>
</div>
<ft-flex-box>
<ft-slider
:label="$t('Settings.Player Settings.Fast-Forward / Rewind Interval')"
:default-value="defaultSkipInterval"
:min-value="1"
:max-value="70"
:step="1"
value-extension="s"
@change="updateDefaultSkipInterval"
/>
<ft-slider
:label="$t('Settings.Player Settings.Next Video Interval')"
:default-value="defaultInterval"
:min-value="0"
:max-value="60"
:step="1"
value-extension="s"
@change="updateDefaultInterval"
/>
<ft-slider
:label="$t('Settings.Player Settings.Default Volume')"
:default-value="defaultVolume"
:min-value="0"
:max-value="100"
:step="1"
value-extension="%"
@change="updateDefaultVolume($event / 100)"
/>
<ft-slider
:label="$t('Settings.Player Settings.Default Playback Rate')"
:default-value="defaultPlayback"
:min-value="0.25"
:max-value="8"
:step="0.25"
value-extension="×"
@change="updateDefaultPlayback"
/>
<ft-slider
:label="$t('Settings.Player Settings.Max Video Playback Rate')"
:default-value="maxVideoPlaybackRate"
:min-value="2"
:max-value="10"
:step="1"
value-extension="x"
@change="updateMaxVideoPlaybackRate"
/>
<ft-select
:placeholder="$t('Settings.Player Settings.Video Playback Rate Interval')"
:value="videoPlaybackRateInterval"
:select-names="playbackRateIntervalValues"
:select-values="playbackRateIntervalValues"
@change="updateVideoPlaybackRateInterval"
/>
</ft-flex-box>
2020-02-21 21:40:46 +01:00
<ft-flex-box>
<ft-select
:placeholder="$t('Settings.Player Settings.Default Video Format.Default Video Format')"
:value="defaultVideoFormat"
2020-02-21 21:40:46 +01:00
:select-names="formatNames"
:select-values="formatValues"
:tooltip="$t('Tooltips.Player Settings.Default Video Format')"
@change="updateDefaultVideoFormat"
2020-02-21 21:40:46 +01:00
/>
<ft-select
:placeholder="$t('Settings.Player Settings.Default Quality.Default Quality')"
:value="defaultQuality"
2020-02-21 21:40:46 +01:00
:select-names="qualityNames"
:select-values="qualityValues"
@change="updateDefaultQuality"
2020-02-21 21:40:46 +01:00
/>
</ft-flex-box>
<br>
<ft-flex-box>
<ft-toggle-switch
:label="$t('Settings.Player Settings.Screenshot.Enable')"
:default-value="enableScreenshot"
@change="updateEnableScreenshot"
/>
</ft-flex-box>
<div v-if="enableScreenshot">
<ft-flex-box>
<ft-select
:placeholder="$t('Settings.Player Settings.Screenshot.Format Label')"
:value="screenshotFormat"
:select-names="screenshotFormatNames"
:select-values="screenshotFormatValues"
@change="handleUpdateScreenshotFormat"
/>
<ft-slider
:label="$t('Settings.Player Settings.Screenshot.Quality Label')"
:default-value="screenshotQuality"
:min-value="0"
:max-value="100"
:step="1"
value-extension="%"
:disabled="screenshotFormat !== 'jpg'"
@change="updateScreenshotQuality"
/>
</ft-flex-box>
<ft-flex-box>
<ft-toggle-switch
:label="$t('Settings.Player Settings.Screenshot.Ask Path')"
:default-value="screenshotAskPath"
@change="updateScreenshotAskPath"
/>
</ft-flex-box>
<ft-flex-box
v-if="!screenshotAskPath"
class="screenshotFolderContainer"
>
<p class="screenshotFolderLabel">
{{ $t('Settings.Player Settings.Screenshot.Folder Label') }}
</p>
<ft-input
class="screenshotFolderPath"
:placeholder="screenshotFolderPlaceholder"
:show-action-button="false"
:show-label="false"
:disabled="true"
/>
<ft-button
:label="$t('Settings.Player Settings.Screenshot.Folder Button')"
class="screenshotFolderButton"
@click="chooseScreenshotFolder"
/>
</ft-flex-box>
<ft-flex-box class="screenshotFolderContainer">
<p class="screenshotFilenamePatternTitle">
{{ $t('Settings.Player Settings.Screenshot.File Name Label') }}
<ft-tooltip
class="selectTooltip"
position="bottom"
:tooltip="$t('Settings.Player Settings.Screenshot.File Name Tooltip')"
/>
</p>
<ft-input
class="screenshotFilenamePatternInput"
placeholder=""
:value="screenshotFilenamePattern"
:spellcheck="false"
:show-action-button="false"
:show-label="false"
@input="handleScreenshotFilenamePatternChanged"
/>
<ft-input
class="screenshotFilenamePatternExample"
:placeholder="`${screenshotFilenameExample}`"
:show-action-button="false"
:show-label="false"
:disabled="true"
/>
</ft-flex-box>
</div>
</details>
2020-02-21 21:40:46 +01:00
</template>
<script src="./player-settings.js" />
2020-03-27 12:37:54 +01:00
<style scoped lang="sass" src="./player-settings.sass" />