[gnome-contacts/wip/nielsdg/rename-window] Rename Window to MainWindow




commit 5907eea3a77933b9e1d2d1ce2fd15e862bff5c6e
Author: Niels De Graef <nielsdegraef gmail com>
Date:   Sun Jan 17 16:34:23 2021 +0100

    Rename Window to MainWindow
    
    The "Window" name was very confusing, as we needed to disambiguate
    between `Contacts.Window`, `Gtk.Window` and `Hdy.Window` each time.
    
    "Window" is also not an ideal name, as it implies that it's the only
    possible window available in Contacts, or some parent class, which is
    not true.

 data/contacts.gresource.xml                             |  2 +-
 data/ui/{contacts-window.ui => contacts-main-window.ui} | 14 +++++++-------
 src/contacts-app.vala                                   |  4 ++--
 src/contacts-avatar-selector.vala                       | 10 +++++-----
 src/contacts-contact-pane.vala                          | 14 +++++++-------
 src/contacts-contact-sheet.vala                         |  5 ++++-
 src/{contacts-window.vala => contacts-main-window.vala} |  6 +++---
 src/meson.build                                         |  2 +-
 8 files changed, 30 insertions(+), 27 deletions(-)
---
diff --git a/data/contacts.gresource.xml b/data/contacts.gresource.xml
index 4105fc5d..370e2ccb 100644
--- a/data/contacts.gresource.xml
+++ b/data/contacts.gresource.xml
@@ -12,7 +12,7 @@
     <file compressed="true" preprocess="xml-stripblanks">ui/contacts-link-suggestion-grid.ui</file>
     <file compressed="true" preprocess="xml-stripblanks">ui/contacts-linked-personas-dialog.ui</file>
     <file compressed="true" preprocess="xml-stripblanks">ui/contacts-list-pane.ui</file>
+    <file compressed="true" preprocess="xml-stripblanks">ui/contacts-main-window.ui</file>
     <file compressed="true" preprocess="xml-stripblanks">ui/contacts-setup-window.ui</file>
-    <file compressed="true" preprocess="xml-stripblanks">ui/contacts-window.ui</file>
   </gresource>
 </gresources>
diff --git a/data/ui/contacts-window.ui b/data/ui/contacts-main-window.ui
similarity index 97%
rename from data/ui/contacts-window.ui
rename to data/ui/contacts-main-window.ui
index 137fe68d..de3e0de6 100644
--- a/data/ui/contacts-window.ui
+++ b/data/ui/contacts-main-window.ui
@@ -136,14 +136,14 @@
       </object>
     </child>
   </object>
-  <template class="ContactsWindow" parent="HdyApplicationWindow">
+  <template class="ContactsMainWindow" parent="HdyApplicationWindow">
     <property name="can_focus">False</property>
     <property name="default_width">800</property>
     <property name="default_height">600</property>
     <property name="icon_name">gnome-contacts</property>
     <property name="title" translatable="yes">Contacts</property>
-    <signal name="key-press-event" handler="key_press_event_cb" object="ContactsWindow" after="yes" 
swapped="no"/>
-    <signal name="delete-event" handler="delete_event_cb" object="ContactsWindow" after="no" swapped="no"/>
+    <signal name="key-press-event" handler="key_press_event_cb" object="ContactsMainWindow" after="yes" 
swapped="no"/>
+    <signal name="delete-event" handler="delete_event_cb" object="ContactsMainWindow" after="no" 
swapped="no"/>
     <child>
       <object class="GtkBox">
         <property name="visible">True</property>
@@ -169,7 +169,7 @@
                     <property name="halign">center</property>
                     <property name="valign">center</property>
                     <property name="tooltip_text" translatable="yes">Create new contact</property>
-                    <signal name="clicked" handler="new_contact" object="ContactsWindow" after="no" 
swapped="no"/>
+                    <signal name="clicked" handler="new_contact" object="ContactsMainWindow" after="no" 
swapped="no"/>
                     <child internal-child="accessible">
                       <object class="AtkObject" id="add_button_atkobject">
                         <property name="AtkObject::accessible-name" translatable="yes">Add contact</property>
@@ -280,7 +280,7 @@
                     <property name="use_underline">True</property>
                     <property name="width_request">70</property>
                     <property name="valign">center</property>
-                    <signal name="notify::visible" handler="on_cancel_visible" object="ContactsWindow" 
after="yes" swapped="no"/>
+                    <signal name="notify::visible" handler="on_cancel_visible" object="ContactsMainWindow" 
after="yes" swapped="no"/>
                     <style>
                       <class name="text-button"/>
                     </style>
@@ -361,8 +361,8 @@
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="can-swipe-back">True</property>
-                <signal name="notify::folded" handler="on_folded" object="ContactsWindow" after="yes" 
swapped="no"/>
-                <signal name="notify::child-transition-running" handler="on_child_transition_running" 
object="ContactsWindow" after="yes" swapped="no"/>
+                <signal name="notify::folded" handler="on_folded" object="ContactsMainWindow" after="yes" 
swapped="no"/>
+                <signal name="notify::child-transition-running" handler="on_child_transition_running" 
object="ContactsMainWindow" after="yes" swapped="no"/>
                 <child>
                   <object class="GtkStack" id="list_pane_stack">
                     <property name="visible">True</property>
diff --git a/src/contacts-app.vala b/src/contacts-app.vala
index 082449ad..b1adaf40 100644
--- a/src/contacts-app.vala
+++ b/src/contacts-app.vala
@@ -22,7 +22,7 @@ public class Contacts.App : Gtk.Application {
 
   private Store contacts_store;
 
-  private Window window;
+  private MainWindow window;
 
   private const GLib.ActionEntry[] action_entries = {
     { "quit",             quit                },
@@ -207,7 +207,7 @@ public class Contacts.App : Gtk.Application {
   }
 
   private void create_window () {
-    this.window = new Contacts.Window (this.settings, this, this.contacts_store);
+    this.window = new MainWindow (this.settings, this, this.contacts_store);
 
     show_contact_list ();
   }
diff --git a/src/contacts-avatar-selector.vala b/src/contacts-avatar-selector.vala
index fb83e377..5f382894 100644
--- a/src/contacts-avatar-selector.vala
+++ b/src/contacts-avatar-selector.vala
@@ -105,13 +105,13 @@ public class Contacts.AvatarSelector : Gtk.Popover {
         } catch (Error e) {
           warning ("Failed to set avatar: %s", e.message);
           Utils.show_error_dialog (_("Failed to set avatar."),
-                                   this.get_toplevel() as Gtk.Window);
+                                   get_toplevel() as Gtk.Window);
         }
       });
     } catch (GLib.Error e) {
       warning ("Failed to set avatar: %s", e.message);
       Utils.show_error_dialog (_("Failed to set avatar."),
-                               this.get_toplevel() as Gtk.Window);
+                               get_toplevel() as Gtk.Window);
     }
   }
 
@@ -179,7 +179,7 @@ public class Contacts.AvatarSelector : Gtk.Popover {
 
   [GtkCallback]
   private void on_cheese_clicked (Gtk.Button button) {
-    var dialog = new CropCheeseDialog.for_cheese ((Window) this.get_toplevel());
+    var dialog = new CropCheeseDialog.for_cheese (get_toplevel() as Gtk.Window);
     dialog.show_all ();
     dialog.picture_selected.connect ( (pix) => {
       selected_pixbuf (scale_pixbuf_for_avatar_use (pix));
@@ -190,7 +190,7 @@ public class Contacts.AvatarSelector : Gtk.Popover {
   [GtkCallback]
   private void on_file_clicked (Gtk.Button button) {
     var chooser = new Gtk.FileChooserNative (_("Browse for more pictures"),
-                                             (Gtk.Window) this.get_toplevel (),
+                                             get_toplevel () as Gtk.Window,
                                              Gtk.FileChooserAction.OPEN,
                                              _("_Open"), _("_Cancel"));
     chooser.set_modal (true);
@@ -218,7 +218,7 @@ public class Contacts.AvatarSelector : Gtk.Popover {
           var pixbuf = new Gdk.Pixbuf.from_stream (in_stream, null);
           in_stream.close ();
           if (pixbuf.get_width () > MAIN_SIZE || pixbuf.get_height () > MAIN_SIZE) {
-            var dialog = new CropCheeseDialog.for_crop ((Window) this.get_toplevel(),
+            var dialog = new CropCheeseDialog.for_crop (get_toplevel () as Gtk.Window,
                                                         pixbuf);
             dialog.picture_selected.connect ( (pix) => {
               selected_pixbuf (scale_pixbuf_for_avatar_use (pix));
diff --git a/src/contacts-contact-pane.vala b/src/contacts-contact-pane.vala
index 458d91a8..10a8af97 100644
--- a/src/contacts-contact-pane.vala
+++ b/src/contacts-contact-pane.vala
@@ -27,7 +27,7 @@ const int PROFILE_SIZE = 128;
 [GtkTemplate (ui = "/org/gnome/Contacts/ui/contacts-contact-pane.ui")]
 public class Contacts.ContactPane : Gtk.ScrolledWindow {
 
-  private Contacts.Window parent_window;
+  private MainWindow main_window;
 
   private Store store;
 
@@ -58,8 +58,8 @@ public class Contacts.ContactPane : Gtk.ScrolledWindow {
   public signal void display_name_changed (string new_display_name);
 
 
-  public ContactPane (Contacts.Window parent_window, Store contacts_store) {
-    this.parent_window = parent_window;
+  public ContactPane (MainWindow main_window, Store contacts_store) {
+    this.main_window = main_window;
     this.store = contacts_store;
   }
 
@@ -238,7 +238,7 @@ public class Contacts.ContactPane : Gtk.ScrolledWindow {
       persona = yield primary_store.add_persona_from_details (details);
     } catch (Error e) {
       show_message_dialog (_("Unable to create new contacts: %s").printf (e.message));
-      this.parent_window.set_shown_contact (null);
+      this.main_window.set_shown_contact (null);
       return;
     }
 
@@ -247,16 +247,16 @@ public class Contacts.ContactPane : Gtk.ScrolledWindow {
 
     if (individual != null) {
       //FIXME: This causes a flicker, especially visible when an avatar is set
-      this.parent_window.set_shown_contact (individual);
+      this.main_window.set_shown_contact (individual);
     } else {
       show_message_dialog (_("Unable to find newly created contact"));
-      this.parent_window.set_shown_contact (null);
+      this.main_window.set_shown_contact (null);
     }
   }
 
   private void show_message_dialog (string message) {
     var dialog =
-        new Gtk.MessageDialog (this.parent_window,
+        new Gtk.MessageDialog (this.main_window,
                                Gtk.DialogFlags.DESTROY_WITH_PARENT | Gtk.DialogFlags.MODAL,
                                Gtk.MessageType.ERROR,
                                Gtk.ButtonsType.OK,
diff --git a/src/contacts-contact-sheet.vala b/src/contacts-contact-sheet.vala
index 813d26cd..3c622fc7 100644
--- a/src/contacts-contact-sheet.vala
+++ b/src/contacts-contact-sheet.vala
@@ -263,7 +263,10 @@ public class Contacts.ContactSheet : Gtk.Grid {
       foreach (var url in url_details.urls) {
         var button = create_button ("web-browser-symbolic");
         button.clicked.connect (() => {
-          var window = (Contacts.Window) button.get_toplevel ();
+          unowned var window = button.get_toplevel () as MainWindow;
+          if (window == null)
+            return;
+
           try {
             Gtk.show_uri_on_window (window,
                                     fallback_to_https (url.value),
diff --git a/src/contacts-window.vala b/src/contacts-main-window.vala
similarity index 98%
rename from src/contacts-window.vala
rename to src/contacts-main-window.vala
index 2386eeac..399a3d2f 100644
--- a/src/contacts-window.vala
+++ b/src/contacts-main-window.vala
@@ -17,8 +17,8 @@
 
 using Folks;
 
-[GtkTemplate (ui = "/org/gnome/Contacts/ui/contacts-window.ui")]
-public class Contacts.Window : Hdy.ApplicationWindow {
+[GtkTemplate (ui = "/org/gnome/Contacts/ui/contacts-main-window.ui")]
+public class Contacts.MainWindow : Hdy.ApplicationWindow {
 
   private const GLib.ActionEntry[] action_entries = {
     { "edit-contact",     edit_contact     },
@@ -86,7 +86,7 @@ public class Contacts.Window : Hdy.ApplicationWindow {
     get; construct set;
   }
 
-  public Window (Settings settings, App app, Store contacts_store) {
+  public MainWindow (Settings settings, App app, Store contacts_store) {
     Object (
       application: app,
       show_menubar: false,
diff --git a/src/meson.build b/src/meson.build
index a38b2629..d9776384 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -90,11 +90,11 @@ contacts_vala_sources = files(
   'contacts-linked-personas-dialog.vala',
   'contacts-linking.vala',
   'contacts-list-pane.vala',
+  'contacts-main-window.vala',
   'contacts-settings.vala',
   'contacts-setup-window.vala',
   'contacts-type-combo.vala',
   'contacts-ui-state.vala',
-  'contacts-window.vala',
   'main.vala',
 )
 


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