AddAccountWindow: more fixes to GtkCombobBox

Thanks glade for making things harder ^^
This commit is contained in:
Bilal Elmoussaoui 2019-02-11 20:54:55 +01:00
parent 809dd3ffc1
commit 059e0d59ff
2 changed files with 16 additions and 8 deletions

View file

@ -2,7 +2,16 @@
<!-- Generated with glade 3.22.0 -->
<interface>
<requires lib="gtk+" version="3.22"/>
<object class="GtkListStore" id="providers_store">
<columns>
<!-- column-name name -->
<column type="gchararray"/>
<!-- column-name logo -->
<column type="gchararray"/>
</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>
@ -107,8 +116,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="row_span_column">0</property>
<property name="column_span_column">0</property>
<property name="model">providers_store</property>
<property name="active">0</property>
<property name="has_entry">True</property>
<property name="entry_text_column">0</property>

View file

@ -91,7 +91,8 @@ class AccountConfig(Gtk.Box, GObject.GObject):
token_entry = Gtk.Template.Child()
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()
@ -124,13 +125,10 @@ class AccountConfig(Gtk.Box, GObject.GObject):
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:
if self._account and self._account.provider:
self.provider_entry.set_text(self._account.provider)
if self._account:
if self._account and self._account.username:
self.account_name_entry.set_text(self._account.username)
if not self.is_edit:
@ -164,9 +162,11 @@ 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 name, logo in data:
self.providers_store.append([name, logo])
@Gtk.Template.Callback('account_edited')
def _validate(self, *_):
"""Validate the username and the token."""