Files
sublime-music/sublime/ui/settings.py
2020-05-08 11:30:23 -06:00

54 lines
1.5 KiB
Python

import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk
from .common.edit_form_dialog import EditFormDialog
class SettingsDialog(EditFormDialog):
title: str = "Settings"
initial_size = (450, 250)
text_fields = [
(
"Port Number (for streaming to Chromecasts on the LAN) *",
"port_number",
False,
),
]
boolean_fields = [
("Always stream songs", "always_stream"),
("When streaming, also download song", "download_on_stream"),
("Show a notification when a song begins to play", "song_play_notification"),
(
"Serve locally cached files over the LAN to Chromecast devices. *",
"serve_over_lan",
),
]
numeric_fields = [
(
"How many songs in the play queue do you want to prefetch?",
"prefetch_amount",
(0, 10, 1),
0,
),
(
"How many song downloads do you want to allow concurrently?",
"concurrent_download_limit",
(1, 10, 1),
5,
),
]
option_fields = [
("Replay Gain", "replay_gain", ("Disabled", "Track", "Album")),
]
def __init__(self, *args, **kwargs):
self.extra_label = Gtk.Label(
label="<i>* Will be appplied after restarting Sublime Music</i>",
justify=Gtk.Justification.LEFT,
use_markup=True,
)
super().__init__(*args, **kwargs)