|
10 | 10 | # except: |
11 | 11 | # from cjkwrap import PY3, is_wide, cjklen |
12 | 12 | # from schedule import PyRadioTime |
13 | | -from .cjkwrap import PY3, is_wide, cjklen |
| 13 | +from .cjkwrap import PY3, is_wide, cjklen, cjkljust |
14 | 14 | from .schedule import PyRadioTime |
15 | 15 | import locale |
16 | 16 | locale.setlocale(locale.LC_ALL, '') # set your locale |
@@ -1847,7 +1847,7 @@ def _get_window(self): |
1847 | 1847 | self._maxY = Y - 2 * self._outer_margin |
1848 | 1848 |
|
1849 | 1849 | # logger.error('max = {}'.format(max(len(x) for x in self._items))) |
1850 | | - self._maxX = items_max_X = max(len(x) for x in self._items) + 2 |
| 1850 | + self._maxX = items_max_X = max(cjklen(x) for x in self._items) + 2 |
1851 | 1851 | if self._margin > 0: |
1852 | 1852 | self._maxX = self._maxX + 2 * self._margin |
1853 | 1853 | if self._display_count: |
@@ -1917,7 +1917,7 @@ def _calculate_max_height_max_width(self): |
1917 | 1917 | if self._maxX == 0: |
1918 | 1918 | self._maxX = X - 2 |
1919 | 1919 | if self._auto_adjust_width: |
1920 | | - self._maxX = len(max(self._items)) + 2 * self._margin |
| 1920 | + self._maxX = cjklen(max(self._items)) + 2 * self._margin |
1921 | 1921 | if self._maxX > self._max_width: |
1922 | 1922 | self._maxX = self._max_width |
1923 | 1923 |
|
@@ -2008,7 +2008,7 @@ def _refresh(self): |
2008 | 2008 | # calculate start item |
2009 | 2009 | # TODO: calculate start_pos |
2010 | 2010 |
|
2011 | | - self._item_max_width = len(max(self._items, key=len)) |
| 2011 | + self._item_max_width = cjklen(max(self._items, key=cjklen)) |
2012 | 2012 | active_item_length = self._maxX - 2 * self._margin - 2 |
2013 | 2013 | if self._start_pos < 0: |
2014 | 2014 | self._start_pos = 0 |
@@ -2052,18 +2052,19 @@ def _format_line(self, i, active_item_length): |
2052 | 2052 | count_len = len(str(len(self._items))) |
2053 | 2053 | # log_it('count_len = {}'.format(count_len)) |
2054 | 2054 | disp_item_pref = '{}. '.format(str(item_id+1).rjust(count_len)) |
2055 | | - disp_item_suf = self._items[item_id][:active_item_length-len(disp_item_pref)] |
| 2055 | + # disp_item_suf = self._items[item_id][:active_item_length-cjklen(disp_item_pref)] |
| 2056 | + disp_item_suf = cjkljust(self._items[item_id], self._body_maxX - len(disp_item_pref) - 2 * self._margin) |
2056 | 2057 | disp_item = ' ' * self._margin + disp_item_pref + disp_item_suf + ' ' * self._margin |
2057 | 2058 | else: |
2058 | 2059 | #print('item_id = {}'.format(item_id)) |
2059 | 2060 | item = self._items[item_id][:active_item_length] |
2060 | 2061 | if self._align == self.LEFT: |
2061 | | - disp_item = ' ' * self._margin + item.ljust(active_item_length) + ' ' * self._margin |
| 2062 | + disp_item = ' ' * self._margin + item.cjkljust(active_item_length) + ' ' * self._margin |
2062 | 2063 | elif self._align == self.RIGHT: |
2063 | | - disp_item = ' ' * self._margin + item.rjust(active_item_length) + ' ' * self._margin |
| 2064 | + disp_item = ' ' * self._margin + item.cjkrjust(active_item_length) + ' ' * self._margin |
2064 | 2065 | else: |
2065 | | - disp_item = ' ' * self._margin + item.center(active_item_length) + ' ' * self._margin |
2066 | | - disp_item = disp_item.ljust(self._body_maxX) |
| 2066 | + disp_item = ' ' * self._margin + item.cjkcenter(active_item_length) + ' ' * self._margin |
| 2067 | + # disp_item = disp_item.ljust(self._body_maxX) |
2067 | 2068 | else: |
2068 | 2069 | # create empty lines |
2069 | 2070 | disp_item = ' ' * self._body_maxX |
|
0 commit comments