From bb152ba94b9df117a0d91c9bdf2a72026d0bec35 Mon Sep 17 00:00:00 2001
From: Inso <insomniak.fr@gmail.com>
Date: Sat, 9 Jan 2016 18:15:44 +0100
Subject: [PATCH] Enhancement #323

---
 src/sakia/gui/certification.py | 10 ++++++----
 src/sakia/gui/transfer.py      | 10 ++++++----
 2 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/src/sakia/gui/certification.py b/src/sakia/gui/certification.py
index a4671268..c79a9646 100644
--- a/src/sakia/gui/certification.py
+++ b/src/sakia/gui/certification.py
@@ -36,8 +36,8 @@ class CertificationDialog(QDialog, Ui_CertificationDialog):
         for community in self.account.communities:
             self.combo_community.addItem(community.currency)
 
-        for contact in certifier.contacts:
-            self.combo_contact.addItem(contact['name'])
+        for contact_name in sorted([c['name'] for c in certifier.contacts], key=str.lower):
+            self.combo_contact.addItem(contact_name)
         if len(certifier.contacts) == 0:
             self.radio_pubkey.setChecked(True)
             self.radio_contact.setEnabled(False)
@@ -55,8 +55,10 @@ class CertificationDialog(QDialog, Ui_CertificationDialog):
     @asyncio.coroutine
     def accept(self):
         if self.radio_contact.isChecked():
-            index = self.combo_contact.currentIndex()
-            pubkey = self.account.contacts[index]['pubkey']
+            for contact in self.account.contacts:
+                if contact['name'] == self.combo_contact.currentText():
+                    pubkey = contact['pubkey']
+                    break
         else:
             pubkey = self.edit_pubkey.text()
 
diff --git a/src/sakia/gui/transfer.py b/src/sakia/gui/transfer.py
index 3929b13a..25efea07 100644
--- a/src/sakia/gui/transfer.py
+++ b/src/sakia/gui/transfer.py
@@ -51,8 +51,8 @@ class TransferMoneyDialog(QDialog, Ui_TransferMoneyDialog):
         for wallet in self.account.wallets:
             self.combo_wallets.addItem(wallet.name)
 
-        for contact in sender.contacts:
-            self.combo_contact.addItem(contact['name'])
+        for contact_name in sorted([c['name'] for c in sender.contacts], key=str.lower):
+            self.combo_contact.addItem(contact_name)
 
         if len(self.account.contacts) == 0:
             self.combo_contact.setEnabled(False)
@@ -96,8 +96,10 @@ class TransferMoneyDialog(QDialog, Ui_TransferMoneyDialog):
         comment = self.edit_message.text()
 
         if self.radio_contact.isChecked():
-            index = self.combo_contact.currentIndex()
-            recipient = self.account.contacts[index]['pubkey']
+            for contact in self.account.contacts:
+                if contact['name'] == self.combo_contact.currentText():
+                    recipient = contact['pubkey']
+                    break
         else:
             recipient = self.edit_pubkey.text()
         amount = self.spinbox_amount.value()
-- 
GitLab