Port account manager to GTK4 gtk4

Tue, 23 Aug 2022 02:54:58 -0500

author
Elliott Sales de Andrade <quantum.analyst@gmail.com>
date
Tue, 23 Aug 2022 02:54:58 -0500
branch
gtk4
changeset 41576
f8771a229df1
parent 41575
d08b9a655b0e
child 41577
ac14c348eba0

Port account manager to GTK4

Testing Done:
Opened manager, clicked on all the dialog buttons, and checked for no warnings. Did not check that adding/removing, or changing options really worked.

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

pidgin/gtkaccount.c file | annotate | diff | comparison | revisions
pidgin/pidgindialog.c file | annotate | diff | comparison | revisions
pidgin/resources/Accounts/editor.ui file | annotate | diff | comparison | revisions
pidgin/resources/Accounts/manager.ui file | annotate | diff | comparison | revisions
pidgin/resources/proxyoptions.ui file | annotate | diff | comparison | revisions
--- a/pidgin/gtkaccount.c	Tue Aug 23 02:25:05 2022 -0500
+++ b/pidgin/gtkaccount.c	Tue Aug 23 02:54:58 2022 -0500
@@ -210,14 +210,14 @@
 	if (!dialog->protocol ||
 	    !PURPLE_PROTOCOL_IMPLEMENTS(dialog->protocol, SERVER, register_user))
 	{
-		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->register_button), FALSE);
+		gtk_check_button_set_active(GTK_CHECK_BUTTON(dialog->register_button), FALSE);
 		gtk_widget_hide(dialog->register_button);
 	} else {
 		if (purple_protocol_get_options(dialog->protocol) &
 		    OPT_PROTO_REGISTER_NOSCREENNAME) {
 			gtk_widget_set_sensitive(dialog->register_button, TRUE);
 		} else {
-			gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(
+			gtk_check_button_set_active(GTK_CHECK_BUTTON(
 				dialog->register_button), FALSE);
 			gtk_widget_set_sensitive(dialog->register_button, FALSE);
 		}
@@ -235,8 +235,8 @@
 
 	if (dialog->ok_button) {
 		if (opt_noscreenname && dialog->register_button &&
-			gtk_toggle_button_get_active(
-				GTK_TOGGLE_BUTTON(dialog->register_button)))
+			gtk_check_button_get_active(
+				GTK_CHECK_BUTTON(dialog->register_button)))
 			gtk_widget_set_sensitive(dialog->ok_button, TRUE);
 		else
 			gtk_widget_set_sensitive(dialog->ok_button,
@@ -255,8 +255,8 @@
 static void
 register_button_cb(GtkWidget *checkbox, AccountPrefsDialog *dialog)
 {
-	int register_checked = gtk_toggle_button_get_active(
-		GTK_TOGGLE_BUTTON(dialog->register_button));
+	int register_checked = gtk_check_button_get_active(
+		GTK_CHECK_BUTTON(dialog->register_button));
 	int opt_noscreenname = (dialog->protocol != NULL &&
 		(purple_protocol_get_options(dialog->protocol) & OPT_PROTO_REGISTER_NOSCREENNAME));
 	int register_noscreenname = (opt_noscreenname && register_checked);
@@ -531,7 +531,7 @@
 static void
 icon_check_cb(GtkWidget *checkbox, AccountPrefsDialog *dialog)
 {
-	gtk_widget_set_sensitive(dialog->icon_hbox, gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->icon_check)));
+	gtk_widget_set_sensitive(dialog->icon_hbox, gtk_check_button_get_active(GTK_CHECK_BUTTON(dialog->icon_check)));
 }
 
 static void
@@ -570,7 +570,7 @@
 	gtk_box_append(GTK_BOX(vbox), dialog->icon_check);
 
 	dialog->icon_hbox = hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6);
-	gtk_widget_set_sensitive(hbox, gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->icon_check)));
+	gtk_widget_set_sensitive(hbox, gtk_check_button_get_active(GTK_CHECK_BUTTON(dialog->icon_check)));
 	gtk_box_append(GTK_BOX(vbox), hbox);
 
 	label = gtk_label_new("    ");
@@ -626,7 +626,7 @@
 			                      purple_account_get_private_alias(dialog->account));
 		}
 
-		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->icon_check),
+		gtk_check_button_set_active(GTK_CHECK_BUTTON(dialog->icon_check),
 					     !purple_account_get_bool(dialog->account, "use-global-buddyicon",
 								       TRUE));
 
@@ -734,8 +734,8 @@
 				opt_entry->widget = check = gtk_check_button_new_with_mnemonic(tmp);
 				g_free(tmp);
 
-				gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check),
-											 bool_value);
+				gtk_check_button_set_active(GTK_CHECK_BUTTON(check),
+				                            bool_value);
 
 				gtk_box_append(GTK_BOX(vbox), check);
 				break;
@@ -911,16 +911,15 @@
 	}
 
 	if (dialog->account) {
-		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->suppression_check),
-		                             purple_account_get_silence_suppression(dialog->account));
+		gtk_check_button_set_active(GTK_CHECK_BUTTON(dialog->suppression_check),
+		                            purple_account_get_silence_suppression(dialog->account));
 	} else {
-		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->suppression_check), FALSE);
+		gtk_check_button_set_active(GTK_CHECK_BUTTON(dialog->suppression_check), FALSE);
 	}
 }
 
-static gboolean
-account_win_destroy_cb(GtkWidget *w, GdkEvent *event,
-					   AccountPrefsDialog *dialog)
+static void
+account_win_destroy_cb(AccountPrefsDialog *dialog)
 {
 	gtk_window_destroy(GTK_WINDOW(dialog->window));
 
@@ -937,7 +936,6 @@
 	purple_signals_disconnect_by_handle(dialog);
 
 	g_free(dialog);
-	return FALSE;
 }
 
 static void
@@ -1048,13 +1046,13 @@
 		const char *filename;
 
 		if (new_acct || purple_account_get_bool(account, "use-global-buddyicon", TRUE) ==
-			gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->icon_check)))
+			gtk_check_button_get_active(GTK_CHECK_BUTTON(dialog->icon_check)))
 		{
 			icon_change = TRUE;
 		}
-		purple_account_set_bool(account, "use-global-buddyicon", !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->icon_check)));
+		purple_account_set_bool(account, "use-global-buddyicon", !gtk_check_button_get_active(GTK_CHECK_BUTTON(dialog->icon_check)));
 
-		if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->icon_check)))
+		if (gtk_check_button_get_active(GTK_CHECK_BUTTON(dialog->icon_check)))
 		{
 			if (dialog->icon_img)
 			{
@@ -1112,7 +1110,7 @@
 
 				case PURPLE_PREF_BOOLEAN:
 					bool_value =
-						gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(opt_entry->widget));
+						gtk_check_button_get_active(GTK_CHECK_BUTTON(opt_entry->widget));
 					purple_account_set_bool(account, opt_entry->setting, bool_value);
 					break;
 
@@ -1135,7 +1133,7 @@
 	/* Voice and Video settings */
 	if (dialog->voice_frame) {
 		purple_account_set_silence_suppression(account,
-				gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->suppression_check)));
+				gtk_check_button_get_active(GTK_CHECK_BUTTON(dialog->suppression_check)));
 	}
 
 	/* If this is a new account, add it to our list */
@@ -1146,7 +1144,7 @@
 	}
 
 	/* If this is a new account, then sign on! */
-	if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->register_button))) {
+	if (gtk_check_button_get_active(GTK_CHECK_BUTTON(dialog->register_button))) {
 		purple_account_set_register_callback(account, account_register_cb, NULL);
 		purple_account_register(account);
 	} else if (new_acct) {
@@ -1160,7 +1158,7 @@
 	}
 
 	/* We no longer need the data from the dialog window */
-	account_win_destroy_cb(NULL, NULL, dialog);
+	account_win_destroy_cb(dialog);
 }
 
 static void
@@ -1172,7 +1170,8 @@
 			account_prefs_save(window);
 			break;
 		case RESPONSE_CLOSE:
-			account_win_destroy_cb(NULL, NULL, window);
+        case GTK_RESPONSE_DELETE_EVENT:
+			account_win_destroy_cb(window);
 			break;
 		default:
 			break;
@@ -1210,8 +1209,6 @@
 	dialog->window = win = pidgin_dialog_new((type == PIDGIN_ADD_ACCOUNT_DIALOG) ? _("Add Account") : _("Modify Account"),
 		6, "account", FALSE);
 
-	g_signal_connect(win, "delete_event", G_CALLBACK(account_win_destroy_cb),
-	                 dialog);
 	g_signal_connect(win, "response", G_CALLBACK(account_prefs_response_cb),
 	                 dialog);
 
--- a/pidgin/pidgindialog.c	Tue Aug 23 02:25:05 2022 -0500
+++ b/pidgin/pidgindialog.c	Tue Aug 23 02:54:58 2022 -0500
@@ -56,8 +56,6 @@
 	return GTK_WIDGET(g_object_new(
 		PIDGIN_TYPE_DIALOG,
 		"title", title,
-		"border-width", border_width,
-		"role", role,
 		"resizable", resizable,
 		NULL));
 }
--- a/pidgin/resources/Accounts/editor.ui	Tue Aug 23 02:25:05 2022 -0500
+++ b/pidgin/resources/Accounts/editor.ui	Tue Aug 23 02:54:58 2022 -0500
@@ -19,100 +19,60 @@
 
 -->
 <interface>
-  <requires lib="gtk+" version="3.24"/>
+  <requires lib="gtk" version="4.0"/>
   <requires lib="pidgin" version="3.0"/>
   <!-- interface-license-type gplv2 -->
   <!-- interface-name Pidgin -->
   <!-- interface-description Internet Messenger -->
   <!-- interface-copyright Pidgin Developers <devel@pidgin.im> -->
   <template class="PidginAccountEditor" parent="GtkDialog">
-    <property name="can-focus">False</property>
-    <property name="type-hint">dialog</property>
     <signal name="response" handler="pidgin_account_editor_response_cb" swapped="no"/>
-    <child internal-child="vbox">
+    <child internal-child="content_area">
       <object class="GtkBox">
-        <property name="can-focus">False</property>
         <property name="orientation">vertical</property>
         <property name="spacing">2</property>
-        <child internal-child="action_area">
-          <object class="GtkButtonBox">
-            <property name="can-focus">False</property>
-            <property name="layout-style">end</property>
+        <child>
+          <object class="GtkNotebook" id="notebook">
+            <property name="focusable">1</property>
             <child>
-              <object class="GtkButton" id="button1">
-                <property name="label" translatable="yes">_Cancel</property>
-                <property name="visible">True</property>
-                <property name="can-focus">True</property>
-                <property name="receives-default">True</property>
-                <property name="use-underline">True</property>
-              </object>
-              <packing>
-                <property name="expand">True</property>
-                <property name="fill">True</property>
+              <object class="GtkNotebookPage">
                 <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="button2">
-                <property name="label" translatable="yes">_Save</property>
-                <property name="visible">True</property>
-                <property name="can-focus">True</property>
-                <property name="receives-default">True</property>
-                <property name="use-underline">True</property>
+                <property name="child">
+                  <object class="PidginProxyOptions" id="proxy_options">
+                    <property name="margin-start">12</property>
+                    <property name="margin-end">12</property>
+                    <property name="margin-top">12</property>
+                    <property name="margin-bottom">12</property>
+                    <property name="orientation">vertical</property>
+                    <property name="spacing">6</property>
+                  </object>
+                </property>
+                <property name="tab">
+                  <object class="GtkLabel">
+                    <property name="label" translatable="1">_Proxy</property>
+                    <property name="use-underline">1</property>
+                  </object>
+                </property>
               </object>
-              <packing>
-                <property name="expand">True</property>
-                <property name="fill">True</property>
-                <property name="position">1</property>
-              </packing>
             </child>
           </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">False</property>
-            <property name="position">0</property>
-          </packing>
         </child>
-        <child>
-          <object class="GtkNotebook" id="notebook">
-            <property name="visible">True</property>
-            <property name="can-focus">True</property>
-            <child>
-              <object class="PidginProxyOptions" id="proxy_options">
-                <property name="visible">True</property>
-                <property name="can-focus">False</property>
-                <property name="margin-left">12</property>
-                <property name="margin-right">12</property>
-                <property name="margin-start">12</property>
-                <property name="margin-end">12</property>
-                <property name="margin-top">12</property>
-                <property name="margin-bottom">12</property>
-                <property name="orientation">vertical</property>
-                <property name="spacing">6</property>
-              </object>
-              <packing>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child type="tab">
-              <object class="GtkLabel">
-                <property name="visible">True</property>
-                <property name="can-focus">False</property>
-                <property name="label" translatable="yes">_Proxy</property>
-                <property name="use-underline">True</property>
-              </object>
-              <packing>
-                <property name="position">0</property>
-                <property name="tab-fill">False</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="position">1</property>
-          </packing>
-        </child>
+      </object>
+    </child>
+    <child type="action">
+      <object class="GtkButton" id="button1">
+        <property name="label" translatable="1">_Cancel</property>
+        <property name="focusable">1</property>
+        <property name="receives-default">1</property>
+        <property name="use-underline">1</property>
+      </object>
+    </child>
+    <child type="action">
+      <object class="GtkButton" id="button2">
+        <property name="label" translatable="1">_Save</property>
+        <property name="focusable">1</property>
+        <property name="receives-default">1</property>
+        <property name="use-underline">1</property>
       </object>
     </child>
     <action-widgets>
--- a/pidgin/resources/Accounts/manager.ui	Tue Aug 23 02:25:05 2022 -0500
+++ b/pidgin/resources/Accounts/manager.ui	Tue Aug 23 02:54:58 2022 -0500
@@ -19,7 +19,7 @@
 
 -->
 <interface>
-  <requires lib="gtk+" version="3.24"/>
+  <requires lib="gtk" version="4.0"/>
   <!-- interface-license-type gplv2 -->
   <!-- interface-name Pidgin -->
   <!-- interface-description Internet Messenger -->
@@ -41,99 +41,83 @@
     </columns>
   </object>
   <template class="PidginAccountManager" parent="GtkDialog">
-    <property name="can-focus">False</property>
-    <property name="title" translatable="yes">Accounts</property>
+    <property name="title" translatable="1">Accounts</property>
     <property name="default-width">500</property>
     <property name="default-height">300</property>
-    <property name="type-hint">dialog</property>
     <signal name="response" handler="pidgin_account_manager_response_cb" swapped="no"/>
-    <child internal-child="vbox">
-      <object class="GtkBox">
-        <property name="can-focus">False</property>
-        <property name="orientation">vertical</property>
-        <property name="spacing">2</property>
+    <child internal-child="content_area">
+      <object class="GtkScrolledWindow">
+        <property name="vexpand">1</property>
+        <property name="valign">fill</property>
+        <property name="focusable">1</property>
         <child>
-          <object class="GtkScrolledWindow">
-            <property name="visible">True</property>
-            <property name="can-focus">True</property>
-            <property name="shadow-type">in</property>
+          <object class="GtkTreeView">
+            <property name="focusable">1</property>
+            <property name="model">model</property>
+            <signal name="row-activated" handler="pidgin_account_manager_row_activated_cb" object="PidginAccountManager" swapped="no"/>
+            <child internal-child="selection">
+              <object class="GtkTreeSelection" id="selection">
+                <signal name="changed" handler="pidgin_account_manager_selection_changed_cb" object="PidginAccountManager" swapped="no"/>
+              </object>
+            </child>
             <child>
-              <object class="GtkTreeView">
-                <property name="visible">True</property>
-                <property name="can-focus">True</property>
-                <property name="model">model</property>
-                <signal name="row-activated" handler="pidgin_account_manager_row_activated_cb" object="PidginAccountManager" swapped="no"/>
-                <child internal-child="selection">
-                  <object class="GtkTreeSelection" id="selection">
-                    <signal name="changed" handler="pidgin_account_manager_selection_changed_cb" object="PidginAccountManager" swapped="no"/>
+              <object class="GtkTreeViewColumn">
+                <property name="title" translatable="1">Enabled</property>
+                <child>
+                  <object class="GtkCellRendererToggle">
+                    <signal name="toggled" handler="pidgin_account_manager_enable_toggled_cb" object="PidginAccountManager" swapped="no"/>
                   </object>
+                  <attributes>
+                    <attribute name="active">0</attribute>
+                  </attributes>
+                </child>
+              </object>
+            </child>
+            <child>
+              <object class="GtkTreeViewColumn">
+                <property name="resizable">1</property>
+                <property name="title" translatable="1">Username</property>
+                <child>
+                  <object class="GtkCellRendererPixbuf"/>
+                  <attributes>
+                    <attribute name="pixbuf">1</attribute>
+                  </attributes>
                 </child>
                 <child>
-                  <object class="GtkTreeViewColumn">
-                    <property name="title" translatable="yes">Enabled</property>
-                    <child>
-                      <object class="GtkCellRendererToggle">
-                        <signal name="toggled" handler="pidgin_account_manager_enable_toggled_cb" object="PidginAccountManager" swapped="no"/>
-                      </object>
-                      <attributes>
-                        <attribute name="active">0</attribute>
-                      </attributes>
-                    </child>
-                  </object>
+                  <object class="GtkCellRendererText"/>
+                  <attributes>
+                    <attribute name="markup">2</attribute>
+                  </attributes>
+                </child>
+              </object>
+            </child>
+            <child>
+              <object class="GtkTreeViewColumn">
+                <property name="resizable">1</property>
+                <property name="title" translatable="1">Protocol</property>
+                <child>
+                  <object class="GtkCellRendererPixbuf"/>
+                  <attributes>
+                    <attribute name="icon-name">3</attribute>
+                  </attributes>
                 </child>
                 <child>
-                  <object class="GtkTreeViewColumn">
-                    <property name="resizable">True</property>
-                    <property name="title" translatable="yes">Username</property>
-                    <child>
-                      <object class="GtkCellRendererPixbuf"/>
-                      <attributes>
-                        <attribute name="pixbuf">1</attribute>
-                      </attributes>
-                    </child>
-                    <child>
-                      <object class="GtkCellRendererText"/>
-                      <attributes>
-                        <attribute name="markup">2</attribute>
-                      </attributes>
-                    </child>
-                  </object>
-                </child>
-                <child>
-                  <object class="GtkTreeViewColumn">
-                    <property name="resizable">True</property>
-                    <property name="title" translatable="yes">Protocol</property>
-                    <child>
-                      <object class="GtkCellRendererPixbuf"/>
-                      <attributes>
-                        <attribute name="icon-name">3</attribute>
-                      </attributes>
-                    </child>
-                    <child>
-                      <object class="GtkCellRendererText"/>
-                      <attributes>
-                        <attribute name="markup">4</attribute>
-                      </attributes>
-                    </child>
-                  </object>
+                  <object class="GtkCellRendererText"/>
+                  <attributes>
+                    <attribute name="markup">4</attribute>
+                  </attributes>
                 </child>
               </object>
             </child>
           </object>
-          <packing>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
-            <property name="position">1</property>
-          </packing>
         </child>
       </object>
     </child>
     <child type="action">
       <object class="GtkButton" id="button1">
-        <property name="label" translatable="yes">τ</property>
-        <property name="visible">True</property>
-        <property name="can-focus">True</property>
-        <property name="receives-default">True</property>
+        <property name="label" translatable="1">τ</property>
+        <property name="focusable">1</property>
+        <property name="receives-default">1</property>
         <style>
           <class name="circular"/>
         </style>
@@ -141,53 +125,48 @@
     </child>
     <child type="action">
       <object class="GtkButton" id="praetorians">
-        <property name="label" translatable="yes">π</property>
-        <property name="visible">True</property>
-        <property name="can-focus">True</property>
-        <property name="focus-on-click">False</property>
-        <property name="receives-default">True</property>
-        <property name="relief">none</property>
+        <property name="label" translatable="1">π</property>
+        <property name="focusable">1</property>
+        <property name="focus-on-click">0</property>
+        <property name="receives-default">1</property>
         <style>
+          <class name="flat"/>
           <class name="circular"/>
         </style>
       </object>
     </child>
     <child type="action">
       <object class="GtkButton" id="button3">
-        <property name="label" translatable="yes">_Add...</property>
-        <property name="visible">True</property>
-        <property name="can-focus">True</property>
-        <property name="receives-default">True</property>
-        <property name="use-underline">True</property>
+        <property name="label" translatable="1">_Add...</property>
+        <property name="focusable">1</property>
+        <property name="receives-default">1</property>
+        <property name="use-underline">1</property>
       </object>
     </child>
     <child type="action">
       <object class="GtkButton" id="modify_button">
-        <property name="label" translatable="yes">_Modify...</property>
-        <property name="visible">True</property>
-        <property name="sensitive">False</property>
-        <property name="can-focus">True</property>
-        <property name="receives-default">True</property>
-        <property name="use-underline">True</property>
+        <property name="label" translatable="1">_Modify...</property>
+        <property name="sensitive">0</property>
+        <property name="focusable">1</property>
+        <property name="receives-default">1</property>
+        <property name="use-underline">1</property>
       </object>
     </child>
     <child type="action">
       <object class="GtkButton" id="remove_button">
-        <property name="label" translatable="yes">_Remove</property>
-        <property name="visible">True</property>
-        <property name="sensitive">False</property>
-        <property name="can-focus">True</property>
-        <property name="receives-default">True</property>
-        <property name="use-underline">True</property>
+        <property name="label" translatable="1">_Remove</property>
+        <property name="sensitive">0</property>
+        <property name="focusable">1</property>
+        <property name="receives-default">1</property>
+        <property name="use-underline">1</property>
       </object>
     </child>
     <child type="action">
       <object class="GtkButton" id="button2">
-        <property name="label" translatable="yes">_Close</property>
-        <property name="visible">True</property>
-        <property name="can-focus">True</property>
-        <property name="receives-default">True</property>
-        <property name="use-underline">True</property>
+        <property name="label" translatable="1">_Close</property>
+        <property name="focusable">1</property>
+        <property name="receives-default">1</property>
+        <property name="use-underline">1</property>
       </object>
     </child>
     <action-widgets>
--- a/pidgin/resources/proxyoptions.ui	Tue Aug 23 02:25:05 2022 -0500
+++ b/pidgin/resources/proxyoptions.ui	Tue Aug 23 02:54:58 2022 -0500
@@ -88,7 +88,7 @@
         <child>
           <object class="GtkComboBox" id="proxy_type">
             <property name="hexpand">1</property>
-            <property name="halign">GTK_ALIGN_FILL</property>
+            <property name="halign">fill</property>
             <property name="model">filter</property>
             <signal name="changed" handler="pidgin_proxy_options_proxy_type_changed_cb" object="PidginProxyOptions" swapped="no"/>
             <child>
@@ -120,7 +120,7 @@
             <child>
               <object class="GtkEntry" id="hostname">
                 <property name="hexpand">1</property>
-                <property name="halign">GTK_ALIGN_FILL</property>
+                <property name="halign">fill</property>
                 <property name="focusable">1</property>
               </object>
             </child>
@@ -140,12 +140,10 @@
             <child>
               <object class="GtkSpinButton" id="port">
                 <property name="hexpand">1</property>
-                <property name="halign">GTK_ALIGN_FILL</property>
+                <property name="halign">fill</property>
                 <property name="focusable">1</property>
-                <property name="input-hints">GTK_INPUT_HINT_NO_EMOJI | GTK_INPUT_HINT_NONE</property>
                 <property name="adjustment">port_adjustment</property>
                 <property name="numeric">1</property>
-                <property name="extra-menu">extra</property>
               </object>
             </child>
           </object>
@@ -164,7 +162,7 @@
             <child>
               <object class="GtkEntry" id="username">
                 <property name="hexpand">1</property>
-                <property name="halign">GTK_ALIGN_FILL</property>
+                <property name="halign">fill</property>
                 <property name="focusable">1</property>
               </object>
             </child>
@@ -184,7 +182,7 @@
             <child>
               <object class="GtkEntry" id="password">
                 <property name="hexpand">1</property>
-                <property name="halign">GTK_ALIGN_FILL</property>
+                <property name="halign">fill</property>
                 <property name="focusable">1</property>
               </object>
             </child>

mercurial