Revert "Fix #2072 (only resize a tab if the size changed since the last display)"

This reverts commit b46f0f5e26.

Conflicts:
	src/tabs/muclisttab.py

Doing this made the unresized elements refresh in the old subwins,
causing glitches and weirdness. And anyway, the only problematic
element is the TextWin (rebuilding all the lines of a buffer is
expensive), but it already checks if the width changed.
This commit is contained in:
mathieui 2014-05-05 19:57:20 +02:00
parent b8972ad940
commit 9c8d577737
8 changed files with 11 additions and 16 deletions

View file

@ -1582,7 +1582,9 @@ class Core(object):
self.resize_global_information_win()
with g_lock:
for tab in self.tabs:
if not config.get('lazy_resize', True):
if config.get('lazy_resize', True):
tab.need_resize = True
else:
tab.resize()
if self.tabs:
self.full_screen_redraw()

View file

@ -96,10 +96,10 @@ class Tab(object):
self._state = 'normal'
self._prev_state = None
self.need_resize = False
self.key_func = {} # each tab should add their keys in there
# and use them in on_input
self.commands = {} # and their own commands
self._saved_size = (-1, -1)
@property
@ -185,13 +185,6 @@ class Tab(object):
elif not self._prev_state:
self._state = 'normal'
def push_size(self):
self._saved_size = (self.height, self.width)
@property
def need_resize(self):
return self._saved_size != (self.height, self.width)
@staticmethod
def resize(scr):
with g_lock:

View file

@ -260,6 +260,7 @@ class ConversationTab(ChatTab):
callback=callback)
def resize(self):
self.need_resize = False
if self.size.tab_degrade_y:
display_bar = False
info_win_height = 0
@ -282,7 +283,6 @@ class ConversationTab(ChatTab):
- tab_win_height,
0)
self.input.resize(1, self.width, self.height - 1, 0)
self.push_size()
def refresh(self):
if self.need_resize:

View file

@ -57,6 +57,7 @@ class DataFormsTab(Tab):
self.form_win.on_input(key)
def resize(self):
self.need_resize = False
self.topic_win.resize(1, self.width, 0, 0)
self.form_win.resize(self.height - 3 - Tab.tab_win_height(),
self.width, 1, 0)
@ -64,7 +65,6 @@ class DataFormsTab(Tab):
self.help_win_dyn.resize(1, self.width,
self.height - 2 - Tab.tab_win_height(), 0)
self.lines = []
self.push_size()
def refresh(self):
if self.need_resize:

View file

@ -796,7 +796,7 @@ class MucTab(ChatTab):
"""
Resize the whole window. i.e. all its sub-windows
"""
log.debug('RESIZE PLS')
self.need_resize = False
if config.get("hide_user_list", False) or self.size.tab_degrade_x:
display_user_list = False
text_width = self.width
@ -833,7 +833,6 @@ class MucTab(ChatTab):
- tab_win_height,
0)
self.input.resize(1, self.width, self.height-1, 0)
self.push_size()
def refresh(self):
if self.need_resize:

View file

@ -237,6 +237,8 @@ class PrivateTab(ChatTab):
self.parent_muc.command_info(user)
def resize(self):
self.need_resize = False
if self.size.tab_degrade_y:
info_win_height = 0
tab_win_height = 0
@ -252,7 +254,6 @@ class PrivateTab(ChatTab):
- tab_win_height,
0)
self.input.resize(1, self.width, self.height-1, 0)
self.push_size()
def refresh(self):
if self.need_resize:

View file

@ -266,6 +266,7 @@ class RosterInfoTab(Tab):
self.core.command_last_activity(jid)
def resize(self):
self.need_resize = False
if self.size.tab_degrade_x:
display_info = False
roster_width = self.width
@ -301,7 +302,6 @@ class RosterInfoTab(Tab):
roster_width, 0, 0)
self.input.resize(1, self.width, self.height-1, 0)
self.default_help_message.resize(1, self.width, self.height-1, 0)
self.push_size()
def completion(self):
# Check if we are entering a command (with the '/' key)

View file

@ -164,6 +164,7 @@ class XMLTab(Tab):
self.core.close_tab()
def resize(self):
self.need_resize = False
if self.size.tab_degrade_y:
info_win_size = 0
tab_win_height = 0
@ -179,7 +180,6 @@ class XMLTab(Tab):
- tab_win_height,
0)
self.input.resize(1, self.width, self.height-1, 0)
self.push_size()
def refresh(self):
if self.need_resize: