# HG changeset patch
# Node ID 7dc3170b4cac
# Parent  2eddd18171c7
diff --git a/pidgin/prefs/pidginprefs.c b/pidgin/prefs/pidginprefs.c
--- a/pidgin/prefs/pidginprefs.c
+++ b/pidgin/prefs/pidginprefs.c
@@ -39,10 +39,11 @@
 #endif
 
 struct _PidginPrefsWindow {
-	GtkDialog parent;
+	AdwPreferencesWindow parent;
 };
 
-G_DEFINE_FINAL_TYPE(PidginPrefsWindow, pidgin_prefs_window, GTK_TYPE_DIALOG)
+G_DEFINE_FINAL_TYPE(PidginPrefsWindow, pidgin_prefs_window,
+                    ADW_TYPE_PREFERENCES_WINDOW)
 
 /******************************************************************************
  * Helpers
diff --git a/pidgin/prefs/pidginprefs.h b/pidgin/prefs/pidginprefs.h
--- a/pidgin/prefs/pidginprefs.h
+++ b/pidgin/prefs/pidginprefs.h
@@ -30,6 +30,7 @@
 #include <glib.h>
 #include <purple.h>
 #include <gtk/gtk.h>
+#include <adwaita.h>
 
 #include "pidginversion.h"
 
@@ -47,7 +48,7 @@ G_BEGIN_DECLS
 
 PIDGIN_AVAILABLE_IN_3_0
 G_DECLARE_FINAL_TYPE(PidginPrefsWindow, pidgin_prefs_window, PIDGIN,
-                     PREFS_WINDOW, GtkDialog)
+                     PREFS_WINDOW, AdwPreferencesWindow)
 
 /**
  * pidgin_prefs_init:
diff --git a/pidgin/resources/Prefs/away.ui b/pidgin/resources/Prefs/away.ui
--- a/pidgin/resources/Prefs/away.ui
+++ b/pidgin/resources/Prefs/away.ui
@@ -62,6 +62,8 @@ along with this program; if not, see <ht
   </object>
 
   <template class="PidginAwayPrefs" parent="AdwPreferencesPage">
+    <property name="icon-name">alarm-symbolic</property>
+    <property name="title" translatable="1">Status / Idle</property>
     <child>
       <object class="AdwPreferencesGroup">
         <property name="title" translatable="1">Idle</property>
diff --git a/pidgin/resources/Prefs/conversation.ui b/pidgin/resources/Prefs/conversation.ui
--- a/pidgin/resources/Prefs/conversation.ui
+++ b/pidgin/resources/Prefs/conversation.ui
@@ -32,6 +32,8 @@ along with this program; if not, see <ht
   </object>
   <object class="GtkSizeGroup" id="iface.sg"/>
   <template class="PidginConversationPrefs" parent="AdwPreferencesPage">
+    <property name="icon-name">document-properties-symbolic</property>
+    <property name="title" translatable="1">Conversations</property>
     <child>
       <object class="AdwPreferencesGroup">
         <property name="title" translatable="1">Conversations</property>
diff --git a/pidgin/resources/Prefs/credentials.ui b/pidgin/resources/Prefs/credentials.ui
--- a/pidgin/resources/Prefs/credentials.ui
+++ b/pidgin/resources/Prefs/credentials.ui
@@ -26,6 +26,7 @@ along with this library; if not, see <ht
   <!-- interface-description Internet Messenger -->
   <!-- interface-copyright Pidgin Developers <devel@pidgin.im> -->
   <template class="PidginCredentialPrefs" parent="AdwPreferencesPage">
+    <property name="icon-name">system-lock-screen-symbolic</property>
     <property name="title" translatable="1">Credentials</property>
     <child>
       <object class="AdwPreferencesGroup">
diff --git a/pidgin/resources/Prefs/network.ui b/pidgin/resources/Prefs/network.ui
--- a/pidgin/resources/Prefs/network.ui
+++ b/pidgin/resources/Prefs/network.ui
@@ -34,6 +34,8 @@ along with this program; if not, see <ht
     <property name="page-increment">10</property>
   </object>
   <template class="PidginNetworkPrefs" parent="AdwPreferencesPage">
+    <property name="icon-name">preferences-system-network-symbolic</property>
+    <property name="title" translatable="1">Network</property>
     <child>
       <object class="AdwPreferencesGroup">
         <property name="title" translatable="1">IP Address</property>
diff --git a/pidgin/resources/Prefs/prefs.ui b/pidgin/resources/Prefs/prefs.ui
--- a/pidgin/resources/Prefs/prefs.ui
+++ b/pidgin/resources/Prefs/prefs.ui
@@ -26,92 +26,29 @@ Foundation, Inc., 51 Franklin Street, Fi
   <!-- interface-name Pidgin -->
   <!-- interface-description Internet Messenger -->
   <!-- interface-copyright Pidgin Developers <devel@pidgin.im> -->
-  <template class="PidginPrefsWindow" parent="GtkDialog">
+  <template class="PidginPrefsWindow" parent="AdwPreferencesWindow">
     <property name="default-width">640</property>
     <property name="default-height">480</property>
     <property name="title" translatable="1">Preferences</property>
-    <child internal-child="content_area">
-      <object class="GtkBox">
-        <property name="vexpand">1</property>
-        <property name="orientation">horizontal</property>
-        <child>
-          <object class="GtkStackSidebar">
-            <property name="stack">stack</property>
-          </object>
-        </child>
-        <child>
-          <object class="GtkStack" id="stack">
-            <!--
-            <signal name="notify::visible-child" handler="vv_test_switch_page_cb" object="vv" swapped="no"/>
-            -->
-            <child>
-              <object class="GtkStackPage">
-                <property name="name">conversations</property>
-                <property name="title" translatable="1">Conversations</property>
-                <property name="child">
-                  <object class="PidginConversationPrefs"/>
-                </property>
-              </object>
-            </child>
-            <child>
-              <object class="GtkStackPage">
-                <property name="name">network</property>
-                <property name="title" translatable="1">Network</property>
-                <property name="child">
-                  <object class="PidginNetworkPrefs"/>
-                </property>
-              </object>
-            </child>
-            <child>
-              <object class="GtkStackPage">
-                <property name="name">proxy</property>
-                <property name="title" translatable="1">Proxy</property>
-                <property name="child">
-                  <object class="PidginProxyPrefs"/>
-                </property>
-              </object>
-            </child>
-            <child>
-              <object class="GtkStackPage">
-                <property name="name">away</property>
-                <property name="title" translatable="1">Status / Idle</property>
-                <property name="child">
-                  <object class="PidginAwayPrefs"/>
-                </property>
-              </object>
-            </child>
-            <child>
-              <object class="GtkStackPage">
-                <property name="name">credentials</property>
-                <property name="title" translatable="1">Credentials</property>
-                <property name="child">
-                  <object class="PidginCredentialPrefs"/>
-                </property>
-              </object>
-            </child>
-            <!--
-            <child>
-              <object class="GtkStackPage">
-                <property name="name">vv</property>
-                <property name="title" translatable="1">Voice/Video</property>
-                <property name="child">
-                  <object class="PidginVVPrefs" id="vv"/>
-                </property>
-              </object>
-            </child>
-            -->
-          </object>
-        </child>
-      </object>
+    <child>
+      <object class="PidginConversationPrefs"/>
+    </child>
+    <child>
+      <object class="PidginNetworkPrefs"/>
+    </child>
+    <child>
+      <object class="PidginProxyPrefs"/>
     </child>
-    <child type="action">
-      <object class="GtkButton">
-        <property name="label" translatable="1">_Close</property>
-        <property name="focusable">1</property>
-        <property name="receives-default">1</property>
-        <property name="use-underline">1</property>
-        <signal name="clicked" handler="gtk_window_destroy" object="PidginPrefsWindow" swapped="yes"/>
-      </object>
+    <child>
+      <object class="PidginAwayPrefs"/>
+    </child>
+    <child>
+      <object class="PidginCredentialPrefs"/>
     </child>
+    <!--
+    <child>
+      <object class="PidginVVPrefs" id="vv"/>
+    </child>
+    -->
   </template>
 </interface>
diff --git a/pidgin/resources/Prefs/proxy.ui b/pidgin/resources/Prefs/proxy.ui
--- a/pidgin/resources/Prefs/proxy.ui
+++ b/pidgin/resources/Prefs/proxy.ui
@@ -24,6 +24,8 @@ along with this program; if not, see <ht
   <!-- interface-description Internet Messenger -->
   <!-- interface-copyright Pidgin Developers <devel@pidgin.im> -->
   <template class="PidginProxyPrefs" parent="AdwPreferencesPage">
+    <property name="icon-name">network-transmit-receive-symbolic</property>
+    <property name="title" translatable="1">Proxy</property>
     <child>
       <object class="AdwPreferencesGroup" id="gnome">
         <property name="title" translatable="1">Proxy Server</property>
diff --git a/pidgin/resources/Prefs/vv.ui b/pidgin/resources/Prefs/vv.ui
--- a/pidgin/resources/Prefs/vv.ui
+++ b/pidgin/resources/Prefs/vv.ui
@@ -55,6 +55,8 @@ along with this program; if not, see <ht
     </property>
   </object>
   <template class="PidginVVPrefs" parent="AdwPreferencesPage">
+    <property name="icon-name">audio-card-symbolic</property>
+    <property name="title" translatable="1">Voice/Video</property>
     <child>
       <object class="AdwPreferencesGroup">
         <property name="title" translatable="1">Audio</property>
