improve Gajim startup by disabling roster sorting while adding rows
This commit is contained in:
parent
e70fd78d20
commit
ff1fd521be
|
@ -3246,8 +3246,10 @@ class Interface:
|
||||||
self.show_systray()
|
self.show_systray()
|
||||||
|
|
||||||
self.roster = roster_window.RosterWindow()
|
self.roster = roster_window.RosterWindow()
|
||||||
|
self.roster._before_fill()
|
||||||
for account in gajim.connections:
|
for account in gajim.connections:
|
||||||
gajim.connections[account].load_roster_from_db()
|
gajim.connections[account].load_roster_from_db()
|
||||||
|
self.roster._after_fill()
|
||||||
|
|
||||||
# get instances for windows/dialogs that will show_all()/hide()
|
# get instances for windows/dialogs that will show_all()/hide()
|
||||||
self.instances['file_transfers'] = dialogs.FileTransfersWindow()
|
self.instances['file_transfers'] = dialogs.FileTransfersWindow()
|
||||||
|
|
|
@ -284,7 +284,6 @@ class RosterWindow:
|
||||||
self.starting = True
|
self.starting = True
|
||||||
jids = gajim.contacts.get_jid_list(account)
|
jids = gajim.contacts.get_jid_list(account)
|
||||||
|
|
||||||
self.tree.freeze_child_notify()
|
|
||||||
for jid in jids:
|
for jid in jids:
|
||||||
self.add_contact(jid, account)
|
self.add_contact(jid, account)
|
||||||
|
|
||||||
|
@ -298,7 +297,6 @@ class RosterWindow:
|
||||||
self.draw_group(group, account)
|
self.draw_group(group, account)
|
||||||
self.draw_account(account)
|
self.draw_account(account)
|
||||||
|
|
||||||
self.tree.thaw_child_notify()
|
|
||||||
self.starting = False
|
self.starting = False
|
||||||
|
|
||||||
|
|
||||||
|
@ -1364,6 +1362,17 @@ class RosterWindow:
|
||||||
task = _draw_all_contacts(jids, account)
|
task = _draw_all_contacts(jids, account)
|
||||||
gobject.idle_add(task.next)
|
gobject.idle_add(task.next)
|
||||||
|
|
||||||
|
def _before_fill(self):
|
||||||
|
self.tree.freeze_child_notify()
|
||||||
|
self.tree.set_model(None)
|
||||||
|
# disable sorting
|
||||||
|
self.model.set_sort_column_id(-2, gtk.SORT_ASCENDING)
|
||||||
|
|
||||||
|
def _after_fill(self):
|
||||||
|
self.model.set_sort_column_id(1, gtk.SORT_ASCENDING)
|
||||||
|
self.tree.set_model(self.modelfilter)
|
||||||
|
self.tree.thaw_child_notify()
|
||||||
|
|
||||||
def setup_and_draw_roster(self):
|
def setup_and_draw_roster(self):
|
||||||
"""
|
"""
|
||||||
Create new empty model and draw roster
|
Create new empty model and draw roster
|
||||||
|
|
Loading…
Reference in New Issue