Use constants and add spacers

main
Micke Nordin 3 years ago
parent 735ca3ef7e
commit ff4f956343

@ -1,17 +1,21 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
import threading import threading
import time import time
from typing import NewType
import pychromecast import pychromecast
import wx import wx
import wx.lib.scrolledpanel as scrolled import wx.lib.scrolledpanel as scrolled
import wx.media import wx.media
from Channel import SVT, Channel, YouTube from Channel import SVT, YouTube
from ChannelProvider import ChannelProvider from ChannelProvider import ChannelProvider
from Utils import make_sized_button from Utils import make_sized_button
WIDTH = 720
HEIGHT = 1440
BTN_HEIGHT = 40
SPACER_HEIGHT = 10
class Cast(wx.Frame): class Cast(wx.Frame):
def __init__(self, *args, **kw): def __init__(self, *args, **kw):
"""__init__. """__init__.
@ -20,7 +24,7 @@ class Cast(wx.Frame):
""" """
super().__init__(*args, **kw) super().__init__(*args, **kw)
self.m_selected_chromecast = None self.m_selected_chromecast = None
self.SetSizeHints(480, 480, maxW=480) self.SetSizeHints(WIDTH, HEIGHT, maxW=WIDTH)
self.m_index = 0 self.m_index = 0
self.m_chromecast_thr = threading.Thread( self.m_chromecast_thr = threading.Thread(
target=self.get_chromecasts, args=(), kwargs={} target=self.get_chromecasts, args=(), kwargs={}
@ -85,10 +89,10 @@ class Cast(wx.Frame):
self.m_selected_provider = self.m_providers[provider_index] self.m_selected_provider = self.m_providers[provider_index]
self.m_sizer.Clear(delete_windows=True) self.m_sizer.Clear(delete_windows=True)
self.m_sizer = wx.BoxSizer(wx.VERTICAL) self.m_sizer = wx.BoxSizer(wx.VERTICAL)
backbtn = wx.Button(self.m_panel, -1, label="Go back", size=(480, 40)) backbtn = wx.Button(self.m_panel, -1, label="Go back", size=(WIDTH, BTN_HEIGHT))
backbtn.Bind(wx.EVT_BUTTON, lambda event: self.show_provider_list(event)) backbtn.Bind(wx.EVT_BUTTON, lambda event: self.show_provider_list(event))
self.m_sizer.Add(backbtn, wx.ALIGN_CENTER_VERTICAL) self.m_sizer.Add(backbtn, wx.ALIGN_CENTER_VERTICAL)
self.m_sizer.AddSpacer(10) self.m_sizer.AddSpacer(SPACER_HEIGHT)
channel_index = 0 channel_index = 0
for channel in self.m_selected_provider.get_channels(): for channel in self.m_selected_provider.get_channels():
bitmap = channel.get_logo_as_bitmap() bitmap = channel.get_logo_as_bitmap()
@ -97,6 +101,7 @@ class Cast(wx.Frame):
self.m_sizer.Add(btn_sizer) self.m_sizer.Add(btn_sizer)
channel_index += 1 channel_index += 1
self.m_sizer.AddSpacer(SPACER_HEIGHT)
self.m_panel.SetSizer(self.m_sizer) self.m_panel.SetSizer(self.m_sizer)
self.m_sizer.Fit(self) self.m_sizer.Fit(self)
self.m_panel.Layout() self.m_panel.Layout()
@ -119,13 +124,13 @@ class Cast(wx.Frame):
time.sleep(1) time.sleep(1)
wx.GetApp().Yield() wx.GetApp().Yield()
backbtn = wx.Button(self.m_panel, -1, label="Go back", size=(480, 40)) backbtn = wx.Button(self.m_panel, -1, label="Go back", size=(WIDTH, BTN_HEIGHT))
backbtn.Bind( backbtn.Bind(
wx.EVT_BUTTON, wx.EVT_BUTTON,
lambda event: self.show_channel_list(event, self.m_selected_provider_index), lambda event: self.show_channel_list(event, self.m_selected_provider_index),
) )
self.m_sizer.Add(backbtn, wx.ALIGN_CENTER_VERTICAL) self.m_sizer.Add(backbtn, wx.ALIGN_CENTER_VERTICAL)
self.m_sizer.AddSpacer(10) self.m_sizer.AddSpacer(SPACER_HEIGHT)
for item in channel.get_items(): for item in channel.get_items():
title = wx.StaticText(self.m_panel, -1) title = wx.StaticText(self.m_panel, -1)
title.SetLabelMarkup("<span weight='bold' >{}</span>".format(item["title"])) title.SetLabelMarkup("<span weight='bold' >{}</span>".format(item["title"]))
@ -143,8 +148,9 @@ class Cast(wx.Frame):
self.m_sizer.Add(title) self.m_sizer.Add(title)
self.m_sizer.Add(btn) self.m_sizer.Add(btn)
self.m_sizer.Add(description) self.m_sizer.Add(description)
self.m_sizer.AddSpacer(10) self.m_sizer.AddSpacer(SPACER_HEIGHT)
self.m_index = self.m_index + 1 self.m_index = self.m_index + 1
self.m_sizer.AddSpacer(SPACER_HEIGHT)
self.m_panel.SetSizer(self.m_sizer) self.m_panel.SetSizer(self.m_sizer)
self.m_sizer.Fit(self) self.m_sizer.Fit(self)
self.m_panel.Layout() self.m_panel.Layout()
@ -160,7 +166,7 @@ class Cast(wx.Frame):
self.m_sizer = wx.GridBagSizer() self.m_sizer = wx.GridBagSizer()
self.m_control = wx.media.MediaCtrl( self.m_control = wx.media.MediaCtrl(
self.m_panel, self.m_panel,
size=(480, 480), size=(WIDTH, HEIGHT),
style=wx.SIMPLE_BORDER, style=wx.SIMPLE_BORDER,
szBackend=wx.media.MEDIABACKEND_GSTREAMER, szBackend=wx.media.MEDIABACKEND_GSTREAMER,
) )
@ -203,6 +209,7 @@ class Cast(wx.Frame):
pause_button.Bind(wx.EVT_BUTTON, self.pause) pause_button.Bind(wx.EVT_BUTTON, self.pause)
self.Bind(wx.media.EVT_MEDIA_FINISHED, self.show_video_list) self.Bind(wx.media.EVT_MEDIA_FINISHED, self.show_video_list)
self.m_sizer.AddSpacer(SPACER_HEIGHT)
self.load_uri(uri) self.load_uri(uri)
self.m_panel.SetSizer(self.m_sizer) self.m_panel.SetSizer(self.m_sizer)
self.m_sizer.Fit(self) self.m_sizer.Fit(self)
@ -215,7 +222,7 @@ class Cast(wx.Frame):
for cast in self.m_chromecasts: for cast in self.m_chromecasts:
friendly_name = cast.cast_info.friendly_name friendly_name = cast.cast_info.friendly_name
btn = wx.Button(self.m_panel, id=-1, label=friendly_name, size=(480, 40)) btn = wx.Button(self.m_panel, id=-1, label=friendly_name, size=(WIDTH, BTN_HEIGHT))
btn.Bind( btn.Bind(
wx.EVT_BUTTON, wx.EVT_BUTTON,
lambda event, chromecast=cast, muri=uri, index=provider_index: self.set_chromecast( lambda event, chromecast=cast, muri=uri, index=provider_index: self.set_chromecast(
@ -223,6 +230,7 @@ class Cast(wx.Frame):
), ),
) )
self.m_sizer.Add(btn, wx.ALIGN_CENTER_VERTICAL) self.m_sizer.Add(btn, wx.ALIGN_CENTER_VERTICAL)
self.m_sizer.AddSpacer(SPACER_HEIGHT)
self.m_panel.SetSizer(self.m_sizer) self.m_panel.SetSizer(self.m_sizer)
self.m_sizer.Fit(self) self.m_sizer.Fit(self)
self.m_panel.Layout() self.m_panel.Layout()

Loading…
Cancel
Save