summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormathieui <mathieui@mathieui.net>2012-10-13 15:58:02 +0200
committermathieui <mathieui@mathieui.net>2012-10-13 15:58:02 +0200
commit285c49a0d0e93a30ffad16a1b889edbb7cec9fb7 (patch)
tree54ee1e8164f325cf3509b7f05273ad415b3a0a40
parent4638e7b7b58d39ef1436034deead5d573ca81527 (diff)
downloadpoezio-285c49a0d0e93a30ffad16a1b889edbb7cec9fb7.tar.gz
poezio-285c49a0d0e93a30ffad16a1b889edbb7cec9fb7.tar.bz2
poezio-285c49a0d0e93a30ffad16a1b889edbb7cec9fb7.tar.xz
poezio-285c49a0d0e93a30ffad16a1b889edbb7cec9fb7.zip
Fixes #2374 (Crash on " " in the MUC list)
- Also fixes arefresh issue (up&down keys didn’t refresh the win) - Rework the style of the Columns a bit (was 2-spaces indent & trailing spaces)
-rw-r--r--src/tabs.py14
-rw-r--r--src/windows.py53
2 files changed, 38 insertions, 29 deletions
diff --git a/src/tabs.py b/src/tabs.py
index da6bceaf..68a93667 100644
--- a/src/tabs.py
+++ b/src/tabs.py
@@ -2965,8 +2965,8 @@ class MucListTab(Tab):
self.listview = windows.ListWin(columns)
self.default_help_message = windows.HelpText("“j”: join room.")
self.input = self.default_help_message
- self.key_func["KEY_DOWN"] = self.listview.move_cursor_down
- self.key_func["KEY_UP"] = self.listview.move_cursor_up
+ self.key_func["KEY_DOWN"] = self.move_cursor_down
+ self.key_func["KEY_UP"] = self.move_cursor_up
self.key_func['^I'] = self.completion
self.key_func["/"] = self.on_slash
self.key_func['j'] = self.join_selected
@@ -3106,6 +3106,16 @@ class MucListTab(Tab):
def on_scroll_down(self):
return self.listview.scroll_down()
+ def move_cursor_up(self):
+ self.listview.move_cursor_up()
+ self.listview.refresh()
+ self.core.doupdate()
+
+ def move_cursor_down(self):
+ self.listview.move_cursor_down()
+ self.listview.refresh()
+ self.core.doupdate()
+
class XMLTab(Tab):
def __init__(self):
diff --git a/src/windows.py b/src/windows.py
index cf341e28..22326820 100644
--- a/src/windows.py
+++ b/src/windows.py
@@ -1836,10 +1836,12 @@ class ListWin(Win):
"""
Sort the list by the given column, ascendant or descendant
"""
- if asc:
- self.lines.sort(key=lambda x: x[col_name])
+ if not col_name:
+ return
+ elif asc:
+ self.lines.sort(key=lambda x: x[col_name])
else:
- self.lines.sort(key=lambda x: x[col_name],reverse=True)
+ self.lines.sort(key=lambda x: x[col_name],reverse=True)
self.refresh()
curses.doupdate()
@@ -1956,22 +1958,22 @@ class ColumnHeaderWin(Win):
for col in self._columns:
txt = col
if col in self._column_order:
- if self._column_order_asc:
- txt += get_theme().CHAR_COLUMN_ASC
- else:
- txt += get_theme().CHAR_COLUMN_DESC
+ if self._column_order_asc:
+ txt += get_theme().CHAR_COLUMN_ASC
+ else:
+ txt += get_theme().CHAR_COLUMN_DESC
#⇓⇑↑↓⇧⇩▲▼
size = self._columns_sizes[col]
txt += ' ' * (size-len(txt))
if col in self._column_sel:
- self.addstr(0, x, txt, to_curses_attr(get_theme().COLOR_COLUMN_HEADER_SEL))
+ self.addstr(0, x, txt, to_curses_attr(get_theme().COLOR_COLUMN_HEADER_SEL))
else:
- self.addstr(0, x, txt, to_curses_attr(get_theme().COLOR_COLUMN_HEADER))
+ self.addstr(0, x, txt, to_curses_attr(get_theme().COLOR_COLUMN_HEADER))
x += size
self._refresh()
def sel_column(self,dic):
- self._column_sel = dic
+ self._column_sel = dic
def get_sel_column(self):
return self._column_sel
@@ -1982,36 +1984,33 @@ class ColumnHeaderWin(Win):
def get_order(self):
if self._column_sel == self._column_order:
- return self._column_order_asc
+ return self._column_order_asc
else:
- return False
+ return False
def sel_column_left(self):
if self._column_sel in self._columns:
- index = self._columns.index(self._column_sel)
- if index > 1:
- index = index -1
- else:
- index = 0
+ index = self._columns.index(self._column_sel)
+ if index > 1:
+ index = index -1
+ else:
+ index = 0
else:
- index = 0
+ index = 0
self._column_sel = self._columns[index]
self.refresh()
- return
def sel_column_right(self):
if self._column_sel in self._columns:
- index = self._columns.index(self._column_sel)
- if index < len(self._columns)-2:
- index = index +1
- else:
- index = len(self._columns) -1
+ index = self._columns.index(self._column_sel)
+ if index < len(self._columns)-2:
+ index = index +1
+ else:
+ index = len(self._columns) -1
else:
- index = len(self._columns) - 1
+ index = len(self._columns) - 1
self._column_sel = self._columns[index]
self.refresh()
- return
-
class SimpleTextWin(Win):