AddAccountWindow: fix providers data missing

This commit is contained in:
Bilal Elmoussaoui 2019-02-11 20:18:42 +01:00
parent c260624e1c
commit 809dd3ffc1
2 changed files with 10 additions and 16 deletions

View file

@ -2,17 +2,10 @@
<!-- Generated with glade 3.22.0 -->
<interface>
<requires lib="gtk+" version="3.22"/>
<object class="GtkListStore" id="providers_store">
<columns>
<!-- column-name gchar1 -->
<column type="gchar"/>
<!-- column-name gchar2 -->
<column type="gchar"/>
</columns>
</object>
<object class="GtkEntryCompletion" id="provider_completion">
<property name="model">providers_store</property>
<property name="text_column">0</property>
<property name="inline_completion">True</property>
<property name="inline_selection">True</property>
</object>
<template class="AccountConfig" parent="GtkBox">
<property name="visible">True</property>
@ -114,7 +107,6 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="model">providers_store</property>
<property name="row_span_column">0</property>
<property name="column_span_column">0</property>
<property name="active">0</property>

View file

@ -92,8 +92,7 @@ class AccountConfig(Gtk.Box, GObject.GObject):
provider_combobox = Gtk.Template.Child()
provider_entry = Gtk.Template.Child()
providers_store = Gtk.Template.Child()
provider_completion = Gtk.Template.Child()
notification = Gtk.Template.Child()
notification_label = Gtk.Template.Child()
@ -105,7 +104,7 @@ class AccountConfig(Gtk.Box, GObject.GObject):
self.is_edit = kwargs.get("edit", False)
self._account = kwargs.get("account", None)
self.init_widgets()
self.__init_widgets()
@property
def account(self):
@ -123,8 +122,11 @@ class AccountConfig(Gtk.Box, GObject.GObject):
account["token"] = "".join(token.split())
return account
def init_widgets(self):
def __init_widgets(self):
# Set up auto completion
self.providers_store = Gtk.ListStore(str, str)
self.provider_completion.set_model(self.providers_store)
self.provider_combobox.set_model(self.providers_store)
if self._account:
self.provider_entry.set_text(self._account.provider)
@ -141,6 +143,7 @@ class AccountConfig(Gtk.Box, GObject.GObject):
pixbuf = load_pixbuf_from_provider(None, 96)
self.provider_img.set_from_pixbuf(pixbuf)
self._fill_data()
@Gtk.Template.Callback('provider_changed')
def _on_provider_changed(self, combo):
@ -161,8 +164,7 @@ class AccountConfig(Gtk.Box, GObject.GObject):
data = json.loads(content)
data = sorted([(name, logo) for name, logo in data.items()],
key=lambda account: account[0].lower())
for entry in data:
name, logo = entry
for name, logo in data:
self.providers_store.append([name, logo])
@Gtk.Template.Callback('account_edited')