Skip to content

Commit 0713f90

Browse files
committed
Refactoring: Adding refresh_and_resize on Config window
1 parent 18ac782 commit 0713f90

File tree

2 files changed

+29
-25
lines changed

2 files changed

+29
-25
lines changed

pyradio/config_window.py

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class PyRadioConfigWindow(object):
3535
'Default value: mpv,mplayer,vlc'])
3636
_help_text.append(['This is the playlist to open if none is specified.', '|',
3737
'This is the equivalent to the -s , --stations command line option.', '|',
38-
'You can scecify full path to CSV file, or if the playlist is in the config directory, playlist name filename without extension or playlist number as reported by -ls command line option.', '|', 'Default value: stations'])
38+
'Default value: stations'])
3939
_help_text.append(['The station number within the default playlist to play.', '|',
4040
'This is the equivalent to the -p , --play command line option.', '|',
4141
'Value is 0..number of stations, "False" means no auto play, "random" means play a random station.', '|', 'Default value: False'])
@@ -407,6 +407,12 @@ def refresh_selection(self):
407407

408408
self._win.refresh()
409409

410+
def refresh_and_resize(self, maxY, maxX):
411+
self._parent_maxY = maxY
412+
self._parent_maxX = maxX
413+
self.init_window()
414+
self.refresh_win()
415+
410416
def _populate_working_players(self, these_players=''):
411417
if these_players:
412418
self._working_players[0] = these_players.replace(' ', '').split(',')
@@ -553,8 +559,6 @@ def _fix_geometry(self):
553559
def refresh_win(self, set_encoding=True):
554560
""" set_encoding is False when resizing """
555561
self._fix_geometry()
556-
#self._win.resize(self.maxY, self.maxX)
557-
#self._win.mvwin(int((self._parent_maxY - self.maxY) / 2) + 1, int((self._parent_maxX - self.maxX) / 2))
558562
self.init_window(set_encoding)
559563
self._win.bkgdset(' ', curses.color_pair(3))
560564
self._win.erase()
@@ -632,6 +636,12 @@ def refresh_selection(self):
632636

633637
self._win.refresh()
634638

639+
def refresh_and_resize(self, maxY, maxX):
640+
self._parent_maxY = maxY
641+
self._parent_maxX = maxX
642+
self.refresh_win(set_encoding=False)
643+
self._resize()
644+
635645
def _get_invalids(self):
636646
self._invalid = []
637647
col = self._num_of_columns - 1
@@ -651,7 +661,7 @@ def _set_startPos(self):
651661
except:
652662
pass
653663

654-
def resize(self, init=False):
664+
def _resize(self, init=False):
655665
col, row = self._selection_to_col_row(self.selection)
656666
if not (self.startPos <= row <= self.startPos + self.list_maxY - 1):
657667
while row > self.startPos:
@@ -681,7 +691,7 @@ def setEncoding(self, this_encoding, init=False):
681691
self.encoding = this_encoding
682692
if logger.isEnabledFor(logging.DEBUG):
683693
logger.debug('encoding "{0}" found at {1}'.format(this_encoding, ret))
684-
self.resize(init)
694+
self._resize(init)
685695
self.refresh_selection()
686696

687697
def _is_encoding(self, a_string):
@@ -707,12 +717,12 @@ def _fix_startPos(self, direction=1):
707717
if row == 0:
708718
self.startPos = 0
709719
else:
710-
self.resize()
720+
self._resize()
711721
elif direction < 0:
712722
if row == self._num_of_rows - 2 or row == self._num_of_rows:
713723
self.startPos = self._num_of_rows - self.list_maxY + 1
714724
elif self.startPos < 0:
715-
self.resize(init=True)
725+
self._resize(init=True)
716726
if self.startPos < 0:
717727
self.startPos = 0
718728

@@ -863,6 +873,13 @@ def init_window(self):
863873
#if set_encoding:
864874
# self.setEncoding(self.encoding, init=True)
865875

876+
def refresh_and_resize(self, parent_maxYX):
877+
self._parent_maxY = parent_maxYX[0]
878+
self._parent_maxX = parent_maxYX[1]
879+
self.init_window()
880+
self.refresh_win(resizing=True)
881+
self._resize()
882+
866883
def _calculate_width(self):
867884
self.maxX = self._max_len + 4 + len(str(self._max_len))
868885
if self.maxX > 64:
@@ -909,7 +926,7 @@ def refresh_selection(self, resizing=False):
909926
if self._select_playlist_error > -2:
910927
self.print_select_playlist_error()
911928

912-
def resize(self):
929+
def _resize(self):
913930
if self.maxY - 2 == self._num_of_items:
914931
self.startPos = 0
915932
else:

pyradio/radio.py

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -283,29 +283,16 @@ def refreshBody(self):
283283
self._config_win.refresh_config_win()
284284
if self.operation_mode == SELECT_PLAYER_MODE or \
285285
self.operation_mode == SELECT_PLAYER_HELP_MODE:
286-
self._player_select_win._parent_maxY = self.bodyMaxY
287-
self._player_select_win._parent_maxX = self.bodyMaxX
288-
self._player_select_win.init_window()
289-
self._player_select_win.refresh_win()
286+
self._player_select_win.refresh_and_resize(self.bodyMaxY, self.bodyMaxX)
290287
elif self.operation_mode == SELECT_ENCODING_MODE or \
291288
self.operation_mode == SELECT_ENCODING_HELP_MODE:
292-
self._encoding_select_win._parent_maxY = self.bodyMaxY
293-
self._encoding_select_win._parent_maxX = self.bodyMaxX
294-
#self._encoding_select_win.init_window()
295-
self._encoding_select_win.refresh_win(set_encoding=False)
296-
self._encoding_select_win.resize()
289+
self._encoding_select_win.refresh_and_resize(self.bodyMaxY, self.bodyMaxX)
297290
elif self.operation_mode == SELECT_PLAYLIST_MODE or \
298291
self.operation_mode == SELECT_PLAYLIST_HELP_MODE:
299-
self._playlist_select_win._parent_maxY, self._playlist_select_win._parent_maxX = self.bodyWin.getmaxyx()
300-
self._playlist_select_win.init_window()
301-
self._playlist_select_win.refresh_win(resizing=True)
302-
self._playlist_select_win.resize()
292+
self._playlist_select_win.refresh_and_resize(self.bodyWin.getmaxyx())
303293
elif self.operation_mode == SELECT_STATION_MODE or \
304294
self.operation_mode == SELECT_STATION_HELP_MODE:
305-
self._station_select_win._parent_maxY, self._station_select_win._parent_maxX = self.bodyWin.getmaxyx()
306-
self._station_select_win.init_window()
307-
self._station_select_win.refresh_win(resizing=True)
308-
self._station_select_win.resize()
295+
self._station_select_win.refresh_and_resize(self.bodyWin.getmaxyx())
309296
else:
310297
self.bodyWin.erase()
311298
self.bodyWin.box()

0 commit comments

Comments
 (0)