From d430f52a49e7334b28033e107247a79c7763d481 Mon Sep 17 00:00:00 2001 From: Sumner Evans Date: Tue, 11 Feb 2020 20:22:23 -0700 Subject: [PATCH] Made the UI better for describing what's happening in settings --- sublime/ui/common/edit_form_dialog.py | 9 ++++++++- sublime/ui/settings.py | 11 ++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/sublime/ui/common/edit_form_dialog.py b/sublime/ui/common/edit_form_dialog.py index 737e1da..4a0504e 100644 --- a/sublime/ui/common/edit_form_dialog.py +++ b/sublime/ui/common/edit_form_dialog.py @@ -1,4 +1,4 @@ -from typing import List, Tuple +from typing import List, Tuple, Optional import gi gi.require_version('Gtk', '3.0') @@ -14,6 +14,7 @@ class EditFormDialog(Gtk.Dialog): text_fields: List[Tuple[str, str, bool]] = [] boolean_fields: List[Tuple[str, str]] = [] numeric_fields: List[NumericFieldDescription] = [] + extra_label: Optional[str] = None extra_buttons: List[Gtk.Button] = [] def get_object_name(self, obj): @@ -104,6 +105,12 @@ class EditFormDialog(Gtk.Dialog): content_grid.attach(spin_button, 1, i, 1, 1) i += 1 + if self.extra_label: + label_box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) + label_box.add(self.extra_label) + content_grid.attach(label_box, 0, i, 2, 1) + i += 1 + button_box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) for button, response_id in self.extra_buttons: if response_id is None: diff --git a/sublime/ui/settings.py b/sublime/ui/settings.py index 0de1f18..1e0b254 100644 --- a/sublime/ui/settings.py +++ b/sublime/ui/settings.py @@ -1,5 +1,6 @@ import gi gi.require_version('Gtk', '3.0') +from gi.repository import Gtk from .common.edit_form_dialog import EditFormDialog @@ -9,8 +10,7 @@ class SettingsDialog(EditFormDialog): initial_size = (450, 250) text_fields = [ ( - 'Port Number (for streaming to Chromecasts on the local network, ' - 'will take effect on restart)', + 'Port Number (for streaming to Chromecasts on the LAN) *', 'port_number', False, ), @@ -23,7 +23,7 @@ class SettingsDialog(EditFormDialog): 'song_play_notification', ), ( - 'Serve locally cached files over the LAN to Chromecast devices.', + 'Serve locally cached files over the LAN to Chromecast devices. *', 'serve_over_lan', ), ] @@ -41,6 +41,11 @@ class SettingsDialog(EditFormDialog): 5, ), ] + extra_label = Gtk.Label( + label='* Will be appplied after restarting Sublime Music', + justify=Gtk.Justification.LEFT, + use_markup=True, + ) def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs)