-
Michael Gratton authored
Rather than keeping a single conversation list model instance around - attaching and adding conversations then clearing and detaching conversation viewers, simply remove the old model instance and add a new one. This also allows the ConversationListStore::is_clearing property to be removed, fixing a related critical warning, and simply unhooking the selection-changed signal handler instead when changing the model. * src/client/components/main-window.vala (MainWindow): Remove props that are now dynamically managed. When the conversation monitor changes, replace the ConversationListView's model, update progress listeners. * src/client/conversation-list/conversation-list-view.vala (ConversationListView): Remove list store property since the parent class already maintains it. Override ::get_model() and ::set_model() to use ConversationListStore instances, manage signals on model instances when they are set/unset. * src/client/conversation-list/conversation-list-store.vala (ConversationListStore): Replae destructor with an explict destroy method that ensures the object is cleaned up enough to actualy be finalised. Remove use of is_clearing in ::on_selection_changed() to fix critical warning.
16e3bf01