[geary/wip/714104-refine-account-dialog: 2/5] Check GOA accounts have a useful defaut name, if not use account label



commit 9f95a80d65f1a2752bc887589c0309a728d6deb8
Author: Michael Gratton <mike vee net>
Date:   Sun Dec 2 12:39:43 2018 +1100

    Check GOA accounts have a useful defaut name, if not use account label

 src/client/accounts/accounts-editor-add-pane.vala | 10 +---------
 src/client/accounts/accounts-manager.vala         | 22 +++++++++++++++++++---
 2 files changed, 20 insertions(+), 12 deletions(-)
---
diff --git a/src/client/accounts/accounts-editor-add-pane.vala 
b/src/client/accounts/accounts-editor-add-pane.vala
index ca762df4..468d0c0b 100644
--- a/src/client/accounts/accounts-editor-add-pane.vala
+++ b/src/client/accounts/accounts-editor-add-pane.vala
@@ -98,7 +98,7 @@ internal class Accounts.EditorAddPane : Gtk.Grid, EditorPane {
             this.sending_panel.hide();
         }
 
-        this.real_name = new NameRow(get_default_name());
+        this.real_name = new NameRow(this.accounts.get_account_name());
 
         this.details_list.add(this.real_name);
         this.details_list.add(this.email);
@@ -149,14 +149,6 @@ internal class Accounts.EditorAddPane : Gtk.Grid, EditorPane {
         notification.show();
     }
 
-    private string? get_default_name() {
-        string? name = Environment.get_real_name();
-        if (Geary.String.is_empty(name) || name == "Unknown") {
-            name = null;
-        }
-        return name;
-    }
-
     private async void validate_account(GLib.Cancellable? cancellable) {
         this.create_spinner.show();
         this.create_spinner.start();
diff --git a/src/client/accounts/accounts-manager.vala b/src/client/accounts/accounts-manager.vala
index fe53b3c4..fbbf5b46 100644
--- a/src/client/accounts/accounts-manager.vala
+++ b/src/client/accounts/accounts-manager.vala
@@ -225,6 +225,17 @@ public class Accounts.Manager : GLib.Object {
         this.goa_service.account_removed.connect(on_goa_account_removed);
     }
 
+    /**
+     * Returns the display name for the current desktop login session.
+     */
+    public string? get_account_name() {
+        string? name = Environment.get_real_name();
+        if (Geary.String.is_empty(name) || name == "Unknown") {
+            name = null;
+        }
+        return name;
+    }
+
     /**
      * Returns a new account, not yet stored on disk.
      */
@@ -883,9 +894,14 @@ public class Accounts.Manager : GLib.Object {
         Goa.Mail? mail = account.get_mail();
         if (mail != null) {
             info.ordinal = Geary.AccountInformation.next_ordinal++;
-            info.primary_mailbox = new Geary.RFC822.MailboxAddress(
-                mail.name, mail.email_address
-            );
+
+            string? name = mail.name;
+            if (Geary.String.is_empty_or_whitespace(name)) {
+                name = get_account_name();
+            }
+            info.append_sender(new Geary.RFC822.MailboxAddress(
+                name, mail.email_address
+            ));
             info.nickname = account.get_account().presentation_identity;
 
             try {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]