Some random about dialog cleanups

Sun, 15 May 2022 02:27:07 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Sun, 15 May 2022 02:27:07 -0500
changeset 41372
e3d28548e01d
parent 41371
fe57d9ddc7ce
child 41373
03b5e6d53fa1

Some random about dialog cleanups

Testing Done:
Opened the dialog and verified it functioned as expected.

Reviewed at https://reviews.imfreedom.org/r/1446/

pidgin/pidginabout.c file | annotate | diff | comparison | revisions
pidgin/resources/About/about.ui file | annotate | diff | comparison | revisions
--- a/pidgin/pidginabout.c	Fri May 13 04:50:00 2022 -0500
+++ b/pidgin/pidginabout.c	Sun May 15 02:27:07 2022 -0500
@@ -507,8 +507,14 @@
  * Callbacks
  *****************************************************************************/
 static void
-pidgin_about_dialog_close(GtkWidget *b, gpointer data) {
-	gtk_widget_destroy(GTK_WIDGET(data));
+pidgin_about_dialog_response_cb(GtkDialog *dialog, gint response_id,
+                                G_GNUC_UNUSED gpointer data)
+{
+	switch(response_id) {
+		case GTK_RESPONSE_CLOSE:
+			gtk_widget_destroy(GTK_WIDGET(dialog));
+			break;
+	}
 }
 
 /******************************************************************************
@@ -525,26 +531,41 @@
 		"/im/pidgin/Pidgin3/About/about.ui"
 	);
 
-	gtk_widget_class_bind_template_child(widget_class, PidginAboutDialog, close_button);
-	gtk_widget_class_bind_template_child(widget_class, PidginAboutDialog, application_name);
-	gtk_widget_class_bind_template_child(widget_class, PidginAboutDialog, stack);
+	gtk_widget_class_bind_template_child(widget_class, PidginAboutDialog,
+	                                     close_button);
+	gtk_widget_class_bind_template_child(widget_class, PidginAboutDialog,
+	                                     application_name);
+	gtk_widget_class_bind_template_child(widget_class, PidginAboutDialog,
+	                                     stack);
 
-	gtk_widget_class_bind_template_child(widget_class, PidginAboutDialog, main_scrolled_window);
-	gtk_widget_class_bind_template_child(widget_class, PidginAboutDialog, main_buffer);
+	gtk_widget_class_bind_template_child(widget_class, PidginAboutDialog,
+	                                     main_scrolled_window);
+	gtk_widget_class_bind_template_child(widget_class, PidginAboutDialog,
+	                                     main_buffer);
 
-	gtk_widget_class_bind_template_child(widget_class, PidginAboutDialog, developers_page);
-	gtk_widget_class_bind_template_child(widget_class, PidginAboutDialog, developers_store);
-	gtk_widget_class_bind_template_child(widget_class, PidginAboutDialog, developers_treeview);
+	gtk_widget_class_bind_template_child(widget_class, PidginAboutDialog,
+	                                     developers_page);
+	gtk_widget_class_bind_template_child(widget_class, PidginAboutDialog,
+	                                     developers_store);
+	gtk_widget_class_bind_template_child(widget_class, PidginAboutDialog,
+	                                     developers_treeview);
 
-	gtk_widget_class_bind_template_child(widget_class, PidginAboutDialog, translators_page);
-	gtk_widget_class_bind_template_child(widget_class, PidginAboutDialog, translators_store);
-	gtk_widget_class_bind_template_child(widget_class, PidginAboutDialog, translators_treeview);
+	gtk_widget_class_bind_template_child(widget_class, PidginAboutDialog,
+	                                     translators_page);
+	gtk_widget_class_bind_template_child(widget_class, PidginAboutDialog,
+	                                     translators_store);
+	gtk_widget_class_bind_template_child(widget_class, PidginAboutDialog,
+	                                     translators_treeview);
 
-	gtk_widget_class_bind_template_child(widget_class, PidginAboutDialog, build_info_page);
-	gtk_widget_class_bind_template_child(widget_class, PidginAboutDialog, build_info_store);
-	gtk_widget_class_bind_template_child(widget_class, PidginAboutDialog, build_info_treeview);
+	gtk_widget_class_bind_template_child(widget_class, PidginAboutDialog,
+	                                     build_info_page);
+	gtk_widget_class_bind_template_child(widget_class, PidginAboutDialog,
+	                                     build_info_store);
+	gtk_widget_class_bind_template_child(widget_class, PidginAboutDialog,
+	                                     build_info_treeview);
 
-	gtk_widget_class_bind_template_callback(widget_class, pidgin_about_dialog_close);
+	gtk_widget_class_bind_template_callback(widget_class,
+	                                        pidgin_about_dialog_response_cb);
 }
 
 static void
--- a/pidgin/resources/About/about.ui	Fri May 13 04:50:00 2022 -0500
+++ b/pidgin/resources/About/about.ui	Sun May 15 02:27:07 2022 -0500
@@ -60,6 +60,7 @@
     <property name="resizable">False</property>
     <property name="window-position">center</property>
     <property name="type-hint">dialog</property>
+    <signal name="response" handler="pidgin_about_dialog_response_cb" swapped="no"/>
     <child internal-child="vbox">
       <object class="GtkBox">
         <property name="can-focus">False</property>
@@ -87,7 +88,6 @@
                 <property name="visible">True</property>
                 <property name="can-focus">True</property>
                 <property name="receives-default">True</property>
-                <signal name="clicked" handler="pidgin_about_dialog_close" object="PidginAboutDialog" swapped="no"/>
               </object>
               <packing>
                 <property name="expand">True</property>
@@ -309,5 +309,8 @@
         </child>
       </object>
     </child>
+    <action-widgets>
+      <action-widget response="-7">close_button</action-widget>
+    </action-widgets>
   </template>
 </interface>

mercurial