socializer should not stop responding when loading conversation buffers
This commit is contained in:
parent
c1865b3ecd
commit
c43de3e9e5
@ -13,6 +13,7 @@
|
|||||||
### Changes
|
### Changes
|
||||||
|
|
||||||
* The spelling correction module has been rewritten to take advantage of the newest enchant Python module which is more stable and can be added properly to the distribution, as opposed to the first enchant module we have tried.
|
* The spelling correction module has been rewritten to take advantage of the newest enchant Python module which is more stable and can be added properly to the distribution, as opposed to the first enchant module we have tried.
|
||||||
|
* Better performance on Socializer should be noticed for users with many conversations opened. Before, socializer could freeze while loading all messages in conversations. Now that should work more efficiently and the application should not stop responding.
|
||||||
|
|
||||||
## News in Version 0.24
|
## News in Version 0.24
|
||||||
|
|
||||||
|
@ -1187,9 +1187,9 @@ class chatBuffer(baseBuffer):
|
|||||||
if show_nextpage == False:
|
if show_nextpage == False:
|
||||||
if self.tab.history.GetValue() != "" and num > 0:
|
if self.tab.history.GetValue() != "" and num > 0:
|
||||||
v = [i for i in self.session.db[self.name]["items"][:num]]
|
v = [i for i in self.session.db[self.name]["items"][:num]]
|
||||||
[wx.CallAfter(self.insert, i, False) for i in v]
|
[self.insert(i, False) for i in v]
|
||||||
else:
|
else:
|
||||||
[wx.CallAfter(self.insert, i) for i in self.session.db[self.name]["items"][:num]]
|
[self.insert(i) for i in self.session.db[self.name]["items"][:num]]
|
||||||
else:
|
else:
|
||||||
if num > 0:
|
if num > 0:
|
||||||
# At this point we save more CPU and mathematical work if we just delete everything in the chat history and readd all messages.
|
# At this point we save more CPU and mathematical work if we just delete everything in the chat history and readd all messages.
|
||||||
@ -1197,14 +1197,14 @@ class chatBuffer(baseBuffer):
|
|||||||
# Firstly, we'd have to save the current focused object so we will place the user in the right part of the text after loading everything again.
|
# Firstly, we'd have to save the current focused object so we will place the user in the right part of the text after loading everything again.
|
||||||
focused_post = self.get_post()
|
focused_post = self.get_post()
|
||||||
self.chats = dict()
|
self.chats = dict()
|
||||||
self.tab.history.SetValue("")
|
wx.CallAfter(self.tab.history.SetValue, "")
|
||||||
v = [i for i in self.session.db[self.name]["items"]]
|
v = [i for i in self.session.db[self.name]["items"]]
|
||||||
[wx.CallAfter(self.insert, i) for i in v]
|
[self.insert(i) for i in v]
|
||||||
# Now it's time to set back the focus in the post.
|
# Now it's time to set back the focus in the post.
|
||||||
for i in self.chats.keys():
|
for i in self.chats.keys():
|
||||||
if self.chats[i] == focused_post["id"]:
|
if self.chats[i] == focused_post["id"]:
|
||||||
line = i[0]
|
line = i[0]
|
||||||
self.tab.history.SetInsertionPoint(self.tab.history.XYToPosition(0, line))
|
wx.CallAfter(self.tab.history.SetInsertionPoint, self.tab.history.XYToPosition(0, line))
|
||||||
output.speak(_("Items loaded"))
|
output.speak(_("Items loaded"))
|
||||||
break
|
break
|
||||||
if self.unread == True and num > 0:
|
if self.unread == True and num > 0:
|
||||||
|
@ -256,10 +256,10 @@ class chatTab(wx.Panel):
|
|||||||
old_line = self.history.GetNumberOfLines()#.count("\n")
|
old_line = self.history.GetNumberOfLines()#.count("\n")
|
||||||
point = self.history.GetInsertionPoint()
|
point = self.history.GetInsertionPoint()
|
||||||
if reverse:
|
if reverse:
|
||||||
self.history.SetValue(message+"\n"+self.history.GetValue())
|
wx.CallAfter(self.history.SetValue, message+"\n"+self.history.GetValue())
|
||||||
else:
|
else:
|
||||||
self.history.AppendText(message+"\n")
|
wx.CallAfter(self.history.AppendText, message+"\n")
|
||||||
self.history.SetInsertionPoint(point)
|
wx.CallAfter(self.history.SetInsertionPoint, point)
|
||||||
new_line = self.history.GetNumberOfLines()#.count("\n")
|
new_line = self.history.GetNumberOfLines()#.count("\n")
|
||||||
return (old_line, new_line)
|
return (old_line, new_line)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user