54 lines
1.5 KiB
Python
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)
|