diff --git a/data/phonemgr.ui b/data/phonemgr.ui
new file mode 100644
index 0000000..08b0d26
--- /dev/null
+++ b/data/phonemgr.ui
@@ -0,0 +1,1091 @@
+<?xml version="1.0"?>
+<interface>
+  <!-- interface-requires gtk+ 2.12 -->
+  <!-- interface-naming-policy toplevel-contextual -->
+  <object class="GtkDialog" id="sms_dialog">
+    <property name="border_width">6</property>
+    <property name="title" translatable="yes">Message Received</property>
+    <property name="resizable">False</property>
+    <property name="type_hint">dialog</property>
+    <property name="has_separator">False</property>
+    <child internal-child="vbox">
+      <object class="GtkVBox" id="dialog-vbox1">
+        <property name="visible">True</property>
+        <property name="spacing">12</property>
+        <child>
+          <object class="GtkHBox" id="hbox1">
+            <property name="visible">True</property>
+            <property name="border_width">6</property>
+            <property name="spacing">12</property>
+            <child>
+              <object class="GtkImage" id="image1">
+                <property name="visible">True</property>
+                <property name="yalign">0</property>
+                <property name="icon_name">phone</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkVBox" id="vbox1">
+                <property name="visible">True</property>
+                <property name="spacing">12</property>
+                <child>
+                  <object class="GtkLabel" id="new_message_label">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="yalign">0</property>
+                    <property name="label" translatable="yes">You have received a message</property>
+                    <property name="wrap">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkTable" id="table1">
+                    <property name="visible">True</property>
+                    <property name="n_rows">3</property>
+                    <property name="n_columns">2</property>
+                    <property name="column_spacing">6</property>
+                    <property name="row_spacing">10</property>
+                    <child>
+                      <object class="GtkLabel" id="label3">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Sender:</property>
+                      </object>
+                      <packing>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="label4">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Date:</property>
+                      </object>
+                      <packing>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkScrolledWindow" id="scrolledwindow2">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="hscrollbar_policy">automatic</property>
+                        <property name="vscrollbar_policy">automatic</property>
+                        <property name="shadow_type">in</property>
+                        <child>
+                          <object class="GtkTextView" id="messagecontents">
+                            <property name="height_request">60</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="pixels_above_lines">2</property>
+                            <property name="pixels_below_lines">2</property>
+                            <property name="editable">False</property>
+                            <property name="wrap_mode">word</property>
+                            <property name="left_margin">2</property>
+                            <property name="right_margin">2</property>
+                            <property name="cursor_visible">False</property>
+                          </object>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">2</property>
+                        <property name="bottom_attach">3</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="senderlabel">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="xalign">0</property>
+                        <property name="selectable">True</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="datelabel">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="xalign">0</property>
+                        <property name="selectable">True</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <object class="GtkHButtonBox" id="dialog-action_area1">
+            <property name="visible">True</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="helpbutton">
+                <property name="label">gtk-help</property>
+                <property name="visible">True</property>
+                <property name="sensitive">False</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="replybutton">
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <child>
+                  <object class="GtkAlignment" id="alignment1">
+                    <property name="visible">True</property>
+                    <property name="xscale">0</property>
+                    <property name="yscale">0</property>
+                    <child>
+                      <object class="GtkHBox" id="hbox2">
+                        <property name="visible">True</property>
+                        <property name="spacing">2</property>
+                        <child>
+                          <object class="GtkImage" id="image2">
+                            <property name="visible">True</property>
+                            <property name="icon_name">gnome-stock-mail-rpl</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="label7">
+                            <property name="visible">True</property>
+                            <property name="label" translatable="yes">_Reply</property>
+                            <property name="use_underline">True</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </object>
+                    </child>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="okbutton">
+                <property name="label">gtk-close</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="has_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="-11">helpbutton</action-widget>
+      <action-widget response="1">replybutton</action-widget>
+      <action-widget response="-5">okbutton</action-widget>
+    </action-widgets>
+  </object>
+  <object class="GtkDialog" id="send_dialog">
+    <property name="border_width">6</property>
+    <property name="title" translatable="yes">Send Message</property>
+    <property name="type_hint">dialog</property>
+    <property name="has_separator">False</property>
+    <child internal-child="vbox">
+      <object class="GtkVBox" id="dialog-vbox2">
+        <property name="visible">True</property>
+        <property name="spacing">12</property>
+        <child>
+          <object class="GtkHBox" id="hbox8">
+            <property name="visible">True</property>
+            <property name="border_width">6</property>
+            <property name="spacing">12</property>
+            <child>
+              <object class="GtkImage" id="image5">
+                <property name="visible">True</property>
+                <property name="yalign">0</property>
+                <property name="icon_name">phone</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkVBox" id="vbox12">
+                <property name="visible">True</property>
+                <property name="spacing">12</property>
+                <child>
+                  <object class="GtkLabel" id="enter_message_label">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="yalign">0</property>
+                    <property name="label" translatable="yes">Enter your text message</property>
+                    <property name="use_markup">True</property>
+                    <property name="wrap">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkTable" id="table2">
+                    <property name="visible">True</property>
+                    <property name="n_rows">5</property>
+                    <property name="n_columns">2</property>
+                    <property name="column_spacing">6</property>
+                    <property name="row_spacing">6</property>
+                    <child>
+                      <object class="GtkLabel" id="label21">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">_Recipient:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">recipient</property>
+                        <accessibility>
+                          <relation type="label-for" target="recipient"/>
+                        </accessibility>
+                      </object>
+                      <packing>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="EPhoneEntry" id="recipient">
+                        <property name="visible">True</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="y_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="label23">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">_Message:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">messagebody</property>
+                      </object>
+                      <packing>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkScrolledWindow" id="scrolledwindow1">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="hscrollbar_policy">automatic</property>
+                        <property name="vscrollbar_policy">automatic</property>
+                        <property name="shadow_type">in</property>
+                        <child>
+                          <object class="GtkTextView" id="messagebody">
+                            <property name="height_request">60</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="tooltip_text" translatable="yes">Enter the text message you want to send.</property>
+                            <property name="pixels_above_lines">2</property>
+                            <property name="pixels_below_lines">2</property>
+                            <property name="wrap_mode">word</property>
+                            <property name="left_margin">2</property>
+                            <property name="right_margin">2</property>
+                          </object>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">2</property>
+                        <property name="bottom_attach">3</property>
+                        <property name="x_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="label20">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Characters left:</property>
+                        <property name="use_markup">True</property>
+                      </object>
+                      <packing>
+                        <property name="top_attach">3</property>
+                        <property name="bottom_attach">4</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="charsleft">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">3</property>
+                        <property name="bottom_attach">4</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkCheckButton" id="delivery_report">
+                        <property name="label" translatable="yes" comments="This is a receipt from the SMS server saying the message has been delivered to the recipient's phone">_Notify when message is delivered</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="use_underline">True</property>
+                        <property name="draw_indicator">True</property>
+                      </object>
+                      <packing>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">4</property>
+                        <property name="bottom_attach">5</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <object class="GtkHButtonBox" id="hbuttonbox2">
+            <property name="visible">True</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="sendhelpbutton">
+                <property name="label">gtk-help</property>
+                <property name="visible">True</property>
+                <property name="sensitive">False</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="msgcancelbutton">
+                <property name="label">gtk-cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="sendbutton">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="has_default">True</property>
+                <property name="receives_default">False</property>
+                <child>
+                  <object class="GtkAlignment" id="alignment3">
+                    <property name="visible">True</property>
+                    <property name="xscale">0</property>
+                    <property name="yscale">0</property>
+                    <child>
+                      <object class="GtkHBox" id="hbox9">
+                        <property name="visible">True</property>
+                        <property name="spacing">2</property>
+                        <child>
+                          <object class="GtkImage" id="image6">
+                            <property name="visible">True</property>
+                            <property name="icon_name">gnome-stock-mail-snd</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="label22">
+                            <property name="visible">True</property>
+                            <property name="label" translatable="yes">_Send</property>
+                            <property name="use_underline">True</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </object>
+                    </child>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="-11">sendhelpbutton</action-widget>
+      <action-widget response="-6">msgcancelbutton</action-widget>
+      <action-widget response="-5">sendbutton</action-widget>
+    </action-widgets>
+  </object>
+  <object class="GtkDialog" id="prefs_dialog">
+    <property name="border_width">5</property>
+    <property name="title" translatable="yes">Phone Manager Preferences</property>
+    <property name="type_hint">dialog</property>
+    <property name="has_separator">False</property>
+    <child internal-child="vbox">
+      <object class="GtkVBox" id="dialog-vbox3">
+        <property name="visible">True</property>
+        <property name="spacing">2</property>
+        <child>
+          <object class="GtkNotebook" id="notebook1">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="border_width">5</property>
+            <child>
+              <object class="GtkVBox" id="interfacebox">
+                <property name="visible">True</property>
+                <property name="border_width">12</property>
+                <property name="spacing">18</property>
+                <child>
+                  <object class="GtkVBox" id="alertingframe">
+                    <property name="visible">True</property>
+                    <property name="spacing">6</property>
+                    <child>
+                      <object class="GtkLabel" id="alerting_label">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Alerting</property>
+                        <property name="use_markup">True</property>
+                        <accessibility>
+                          <relation type="label-for" target="alerting_box"/>
+                        </accessibility>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkAlignment" id="alignment12">
+                        <property name="visible">True</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <object class="GtkVBox" id="alerting_box">
+                            <property name="visible">True</property>
+                            <property name="spacing">6</property>
+                            <accessibility>
+                              <relation type="labelled-by" target="alerting_label"/>
+                            </accessibility>
+                            <child>
+                              <object class="GtkCheckButton" id="prefs_popup">
+                                <property name="label" translatable="yes">_Pop-up window for new messages</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="use_underline">True</property>
+                                <property name="draw_indicator">True</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkCheckButton" id="prefs_sound">
+                                <property name="label" translatable="yes">Play _sound when messages arrive</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="use_underline">True</property>
+                                <property name="draw_indicator">True</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+              </object>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="label26">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">Interface</property>
+              </object>
+              <packing>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkVBox" id="connectionbox">
+                <property name="visible">True</property>
+                <property name="border_width">12</property>
+                <property name="spacing">18</property>
+                <child>
+                  <object class="GtkVBox" id="phoneframe">
+                    <property name="visible">True</property>
+                    <property name="spacing">6</property>
+                    <child>
+                      <object class="GtkLabel" id="phone_connection_label">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Phone Connection</property>
+                        <property name="use_markup">True</property>
+                        <accessibility>
+                          <relation type="label-for" target="phone_connection_box"/>
+                        </accessibility>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkAlignment" id="alignment8">
+                        <property name="visible">True</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <object class="GtkVBox" id="phone_connection_box">
+                            <property name="visible">True</property>
+                            <property name="spacing">6</property>
+                            <accessibility>
+                              <relation type="labelled-by" target="phone_connection_label"/>
+                            </accessibility>
+                            <child>
+                              <object class="GtkVBox" id="bluetooth_box">
+                                <property name="visible">True</property>
+                                <property name="spacing">6</property>
+                                <child>
+                                  <object class="GtkRadioButton" id="btdevice">
+                                    <property name="label" translatable="yes">_Bluetooth</property>
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="receives_default">False</property>
+                                    <property name="tooltip_text" translatable="yes">Use Bluetooth wireless networking to connect to your phone</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="draw_indicator">True</property>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">0</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkAlignment" id="alignment10">
+                                    <property name="visible">True</property>
+                                    <property name="left_padding">12</property>
+                                    <child>
+                                      <object class="BluetoothChooserButton" id="btchooser">
+                                        <property name="visible">True</property>
+                                      </object>
+                                    </child>
+                                  </object>
+                                  <packing>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkRadioButton" id="serialport1">
+                                <property name="label" translatable="yes">Serial port _1 (/dev/ttyS0)</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="tooltip_text" translatable="yes">Connect using serial port 1, also known as COM1 or /dev/ttyS0</property>
+                                <property name="use_underline">True</property>
+                                <property name="draw_indicator">True</property>
+                                <property name="group">btdevice</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkRadioButton" id="serialport2">
+                                <property name="label" translatable="yes">Serial port _2 (/dev/ttyS1)</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="tooltip_text" translatable="yes">Connect using serial port 2, also known as COM2 or /dev/ttyS1</property>
+                                <property name="use_underline">True</property>
+                                <property name="draw_indicator">True</property>
+                                <property name="group">btdevice</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">2</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkRadioButton" id="irdaport">
+                                <property name="label" translatable="yes">I_nfra red (/dev/ircomm0)</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="tooltip_text" translatable="yes">Connect using infrared communication</property>
+                                <property name="use_underline">True</property>
+                                <property name="draw_indicator">True</property>
+                                <property name="group">btdevice</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">3</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkVBox" id="otherportbox">
+                                <property name="visible">True</property>
+                                <property name="spacing">6</property>
+                                <child>
+                                  <object class="GtkRadioButton" id="otherport">
+                                    <property name="label" translatable="yes">Other _port</property>
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="receives_default">False</property>
+                                    <property name="tooltip_text" translatable="yes">Connect using an alternative serial device</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="draw_indicator">True</property>
+                                    <property name="group">btdevice</property>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">0</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkAlignment" id="alignment11">
+                                    <property name="visible">True</property>
+                                    <property name="left_padding">12</property>
+                                    <child>
+                                      <object class="GtkEntry" id="otherportentry">
+                                        <property name="visible">True</property>
+                                        <property name="sensitive">False</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="can_default">True</property>
+                                        <property name="has_default">True</property>
+                                        <property name="tooltip_text" translatable="yes">Alternative device filename, e.g. /dev/ttyS3</property>
+                                        <property name="text">/dev/ttyS2</property>
+                                      </object>
+                                    </child>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="position">4</property>
+                              </packing>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkVBox" id="automatedframe">
+                    <property name="visible">True</property>
+                    <property name="spacing">6</property>
+                    <child>
+                      <object class="GtkLabel" id="automated_tasks_label">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Automated Tasks</property>
+                        <accessibility>
+                          <relation type="label-for" target="automated_tasks_box"/>
+                        </accessibility>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkAlignment" id="alignment9">
+                        <property name="visible">True</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <object class="GtkVBox" id="automated_tasks_box">
+                            <property name="visible">True</property>
+                            <accessibility>
+                              <relation type="labelled-by" target="automated_tasks_label"/>
+                            </accessibility>
+                            <child>
+                              <object class="GtkCheckButton" id="auto_retry">
+                                <property name="label" translatable="yes">Automatically _retry connections</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="tooltip_text" translatable="yes">Always try and reconnect whenever a connection is not immediately available. Use this with Bluetooth to ensure your phone connects whenever it comes in range.</property>
+                                <property name="use_underline">True</property>
+                                <property name="draw_indicator">True</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkCheckButton" id="sync_clock">
+                                <property name="label" translatable="yes">Synchronise phone's _time and date</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="tooltip_text" translatable="yes">Synchronise phone's time and date with the computer's clock</property>
+                                <property name="use_underline">True</property>
+                                <property name="draw_indicator">True</property>
+                              </object>
+                              <packing>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="label8">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">Connection</property>
+              </object>
+              <packing>
+                <property name="position">1</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <object class="GtkHButtonBox" id="dialog-action_area2">
+            <property name="visible">True</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="prefsclosebutton">
+                <property name="label">gtk-close</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="-7">prefsclosebutton</action-widget>
+    </action-widgets>
+  </object>
+  <object class="GtkDialog" id="security_dialog">
+    <property name="border_width">5</property>
+    <property name="title" translatable="yes">Security Input Required</property>
+    <property name="resizable">False</property>
+    <property name="destroy_with_parent">True</property>
+    <property name="type_hint">dialog</property>
+    <property name="urgency_hint">True</property>
+    <property name="has_separator">False</property>
+    <child internal-child="vbox">
+      <object class="GtkVBox" id="dialog-vbox4">
+        <property name="visible">True</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">2</property>
+        <child>
+          <object class="GtkFixed" id="fixed1">
+            <property name="visible">True</property>
+            <child>
+              <object class="GtkEntry" id="security_code">
+                <property name="width_request">158</property>
+                <property name="height_request">28</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="invisible_char">&#x2022;</property>
+              </object>
+              <packing>
+                <property name="x">120</property>
+                <property name="y">63</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="security_code_type">
+                <property name="width_request">84</property>
+                <property name="height_request">28</property>
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">code:</property>
+                <property name="justify">right</property>
+              </object>
+              <packing>
+                <property name="x">27</property>
+                <property name="y">63</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="label1">
+                <property name="width_request">358</property>
+                <property name="height_request">35</property>
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">Phone requires security input</property>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <object class="GtkHButtonBox" id="dialog-action_area4">
+            <property name="visible">True</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="ok_security_code">
+                <property name="label">gtk-ok</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="cancel_security_code">
+                <property name="label">gtk-cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="0">ok_security_code</action-widget>
+      <action-widget response="0">cancel_security_code</action-widget>
+    </action-widgets>
+  </object>
+  <object class="GtkAdjustment" id="adjustment1">
+    <property name="upper">100</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+    <property name="page_size">10</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment2">
+    <property name="upper">100</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+    <property name="page_size">10</property>
+  </object>
+  <object class="GtkDialog" id="dialog1">
+    <property name="border_width">5</property>
+    <property name="type_hint">normal</property>
+    <property name="has_separator">False</property>
+    <child internal-child="vbox">
+      <object class="GtkVBox" id="dialog-vbox5">
+        <property name="visible">True</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">2</property>
+        <child>
+          <placeholder/>
+        </child>
+        <child internal-child="action_area">
+          <object class="GtkHButtonBox" id="dialog-action_area5">
+            <property name="visible">True</property>
+            <property name="layout_style">end</property>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+  </object>
+</interface>
diff --git a/src/app.h b/src/app.h
index 734c6ec..fc2dac0 100644
--- a/src/app.h
+++ b/src/app.h
@@ -23,9 +23,7 @@
 #define _APP_H
 
 #include <gtk/gtk.h>
-#include <glade/glade.h>
 #include <gconf/gconf-client.h>
-
 #include "phonemgr-listener.h"
 #include "phonemgr-object.h"
 
@@ -33,7 +31,7 @@ typedef struct _appinfo {
 	/* gui stuff */
 	GtkStatusIcon *tray_icon;
 	GtkMenu *menu;
-	GladeXML    *ui;
+	GtkBuilder    *ui;
 	int    iconstate;
 	int    chars;
 	GtkWidget *send_item;
diff --git a/src/ui.c b/src/ui.c
index a618522..f8ad342 100644
--- a/src/ui.c
+++ b/src/ui.c
@@ -21,7 +21,6 @@
 
 #include <glib/gi18n.h>
 #include <stdlib.h>
-#include <glade/glade.h>
 #include <gtk/gtk.h>
 #include <gtkspell/gtkspell.h>
 #include <canberra-gtk.h>
@@ -38,11 +37,11 @@
 #define MAX_MESSAGE_LENGTH 160
 
 static void
-boldify_label (GladeXML *xml, const char *name)
+boldify_label (GtkBuilder *builder, const char *name)
 {
 	GtkWidget *widget;
 
-	widget = glade_xml_get_widget (xml, name);
+	widget = GTK_WIDGET (gtk_builder_get_object (builder, name));
 
 	if (widget == NULL) {
 		/* g_warning ("widget '%s' not found", name); */
@@ -72,11 +71,11 @@ boldify_label (GladeXML *xml, const char *name)
 }
 
 static void
-bigger_label (GladeXML *xml, const char *name)
+bigger_label (GtkBuilder *builder, const char *name)
 {
 	GtkWidget *widget;
 
-	widget = glade_xml_get_widget (xml, name);
+	widget = GTK_WIDGET (gtk_builder_get_object (builder, name));
 
 	if (widget == NULL) {
 		/* g_warning ("widget '%s' not found", name); */
@@ -108,7 +107,7 @@ get_resource (MyApp *app, char *uiresname)
 
 	return fname;
 }
-
+/*
 static void
 chooser_created (BluetoothChooserButton *button, BluetoothChooser *chooser, gpointer data)
 {
@@ -134,16 +133,34 @@ bluetooth_chooser_button_create (void)
 	
 	return widget;
 }
+*/
 
 static
-GladeXML *get_ui (MyApp *app, char *widget)
+GtkBuilder *get_ui (MyApp *app, char *widget)
 {
 	char *fname;
-	GladeXML *ui;
+	GError* error = NULL;
+	GtkBuilder* ui = gtk_builder_new ();
+
+	fname = get_resource (app, "phonemgr.ui");
+
+	if (widget != NULL) {
+		char *widgets[1];
+		widgets[0] = malloc ( sizeof(widget) + 1);
+
+		g_stpcpy(widgets[0], widget);
 
-	fname = get_resource (app, "phonemgr.glade");
+		if (!gtk_builder_add_objects_from_file (ui, fname, widgets, &error)){
+			g_warning ("Couldn't load builder file: %s", error->message);
+			g_error_free (error);
+		}
+	} else {
+		if (!gtk_builder_add_from_file (ui, fname, &error)){
+			g_warning ("Couldn't load builder file: %s", error->message);
+			g_error_free (error);
+		}
+	}
 
-	ui = glade_xml_new (fname, widget, NULL);
 	g_free (fname);
 
 	boldify_label (ui, "alerting_label");
@@ -182,14 +199,14 @@ set_dependent_widget (MyApp *app, int conn_type, gboolean active)
 	switch (conn_type) {
 		case CONNECTION_BLUETOOTH:
 			/* only set sensitive if bluetooth available */
-			w = GTK_WIDGET (glade_xml_get_widget (app->ui, "btchooser"));
+			w = GTK_WIDGET (gtk_builder_get_object (app->ui, "btchooser"));
 			if (bluetooth_chooser_button_available (BLUETOOTH_CHOOSER_BUTTON (w)) == FALSE
 			    || phonemgr_utils_connection_is_supported (PHONEMGR_CONNECTION_BLUETOOTH) == FALSE)
 				active = FALSE;
 			gtk_widget_set_sensitive (w, active);
 			break;
 		case CONNECTION_OTHER:
-			w = GTK_WIDGET (glade_xml_get_widget (app->ui, "otherportentry"));
+			w = GTK_WIDGET (gtk_builder_get_object (app->ui, "otherportentry"));
 			gtk_widget_set_sensitive (w, active);
 			break;
 	}
@@ -213,12 +230,12 @@ on_conn_port_change (GtkWidget *widget, MyApp *app)
 }
 
 static gboolean
-message_dialog_reply (GladeXML *ui)
+message_dialog_reply (GtkBuilder *ui)
 {
 	MyApp *app;
-	GtkWidget *dialog = glade_xml_get_widget (ui, "sms_dialog");
+	GtkWidget *dialog = GTK_WIDGET (gtk_builder_get_object (ui, "sms_dialog"));
 	GtkLabel *sender = GTK_LABEL (
-			glade_xml_get_widget (ui, "senderlabel"));
+			gtk_builder_get_object (ui, "senderlabel"));
 	
 	app = (MyApp *) g_object_get_data (G_OBJECT (dialog),
 			"app");
@@ -230,13 +247,13 @@ message_dialog_reply (GladeXML *ui)
 }
 
 #define S_CONNECT(x, y) 	\
-	w = glade_xml_get_widget (app->ui, (x)); \
+	w = GTK_WIDGET (gtk_builder_get_object (app->ui, (x))); \
 	g_object_set_data (G_OBJECT (w), "port", GINT_TO_POINTER (y)); \
 	g_signal_connect (G_OBJECT (w), "toggled", \
 			G_CALLBACK (on_conn_port_change), (gpointer)app)
 					
 #define S_ACTIVE(x, y) \
-	w = glade_xml_get_widget (app->ui, (x)); \
+	w = GTK_WIDGET (gtk_builder_get_object (app->ui, (x))); \
 	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (w), ctype==y);
 
 static void
@@ -245,7 +262,7 @@ populate_prefs (MyApp *app)
 	GtkWidget *w;
 	char *c;
 	int ctype;
-	
+
 	ctype = gconf_client_get_int (app->client,
 				      CONFBASE"/connection_type", NULL);
 
@@ -254,7 +271,7 @@ populate_prefs (MyApp *app)
 	set_dependent_widget (app, CONNECTION_OTHER,
 			ctype == CONNECTION_OTHER);
 
-	w = GTK_WIDGET (glade_xml_get_widget (app->ui, "otherportentry"));
+	w = GTK_WIDGET (gtk_builder_get_object (app->ui, "otherportentry"));
 	c  = gconf_client_get_string (app->client,
 				      CONFBASE"/other_serial", NULL);
 	if (c != NULL) {
@@ -277,7 +294,7 @@ apply_prefs (MyApp *app)
 {
 	GtkWidget *w;
 
-	w = GTK_WIDGET (glade_xml_get_widget (app->ui, "otherportentry"));
+	w = GTK_WIDGET (gtk_builder_get_object (app->ui, "otherportentry"));
 	gconf_client_set_string (app->client,
 				 CONFBASE"/other_serial",
 				 gtk_entry_get_text (GTK_ENTRY (w)), NULL);
@@ -295,7 +312,7 @@ prefs_dialog_response (GtkWidget *dialog,
 }
 
 static gboolean
-destroy_send_dialog (GtkDialog *dialog, GladeXML *ui)
+destroy_send_dialog (GtkDialog *dialog, GtkBuilder *ui)
 {
 	g_object_unref (ui);
 	gtk_widget_destroy (GTK_WIDGET (dialog));
@@ -303,7 +320,7 @@ destroy_send_dialog (GtkDialog *dialog, GladeXML *ui)
 }
 
 static void
-set_send_sensitivity (GtkWidget *w, GladeXML *ui)
+set_send_sensitivity (GtkWidget *w, GtkBuilder *ui)
 {
 	EPhoneEntry *entry;
 	GtkTextView *view;
@@ -314,11 +331,11 @@ set_send_sensitivity (GtkWidget *w, GladeXML *ui)
 	char *work;
 	char *text;
 
-	left = GTK_LABEL (glade_xml_get_widget (ui, "charsleft"));
-	view = GTK_TEXT_VIEW (glade_xml_get_widget (ui, "messagebody"));
+	left = GTK_LABEL (gtk_builder_get_object (ui, "charsleft"));
+	view = GTK_TEXT_VIEW (gtk_builder_get_object (ui, "messagebody"));
 	buf = gtk_text_view_get_buffer (view);
-	entry = E_PHONE_ENTRY (glade_xml_get_widget (ui, "recipient"));
-	sendbutton = GTK_WIDGET (glade_xml_get_widget (ui, "sendbutton"));
+	entry = E_PHONE_ENTRY (gtk_builder_get_object (ui, "recipient"));
+	sendbutton = GTK_WIDGET (gtk_builder_get_object (ui, "sendbutton"));
 
 	l = gtk_text_buffer_get_char_count (buf);
 	text = e_phone_entry_get_number (entry);
@@ -338,13 +355,13 @@ set_send_sensitivity (GtkWidget *w, GladeXML *ui)
 }
 
 static void
-phone_number_changed (GtkWidget *entry, char *phone_number, GladeXML *ui)
+phone_number_changed (GtkWidget *entry, char *phone_number, GtkBuilder *ui)
 {
 	set_send_sensitivity (entry, ui);
 }
 
 static void
-send_message (GtkWidget *w, GladeXML *ui)
+send_message (GtkWidget *w, GtkBuilder *ui)
 {
 	GtkTextBuffer *buf;
 	GtkTextView *view;
@@ -356,11 +373,11 @@ send_message (GtkWidget *w, GladeXML *ui)
 
 	MyApp *app = (MyApp *) g_object_get_data (G_OBJECT (ui), "app");
 
-	dialog = GTK_DIALOG (glade_xml_get_widget (ui, "send_dialog"));
-	view = GTK_TEXT_VIEW (glade_xml_get_widget (ui, "messagebody"));
+	dialog = GTK_DIALOG (gtk_builder_get_object (ui, "send_dialog"));
+	view = GTK_TEXT_VIEW (gtk_builder_get_object (ui, "messagebody"));
 	buf = gtk_text_view_get_buffer (view);
-	entry = E_PHONE_ENTRY (glade_xml_get_widget (ui, "recipient"));
-	delivery_report = GTK_TOGGLE_BUTTON (glade_xml_get_widget (ui, "delivery_report"));
+	entry = E_PHONE_ENTRY (gtk_builder_get_object (ui, "recipient"));
+	delivery_report = GTK_TOGGLE_BUTTON (gtk_builder_get_object (ui, "delivery_report"));
 
 	gtk_text_buffer_get_start_iter (buf, &s);
 	gtk_text_buffer_get_end_iter (buf, &e);
@@ -381,19 +398,19 @@ create_send_dialog (MyApp *app, GtkDialog *parent, const char *recip)
 	GtkTextView *view;
 	GtkEntry *entry;
 	GtkDialog *dialog;
-	GladeXML *ui;
+	GtkBuilder *ui;
 	GtkWidget *w;
 
 	ui = get_ui (app, "send_dialog");
 
-	dialog = GTK_DIALOG (glade_xml_get_widget (ui, "send_dialog"));
+	dialog = GTK_DIALOG (gtk_builder_get_object (ui, "send_dialog"));
 
 	if (parent) {
 		gtk_window_set_transient_for (GTK_WINDOW (dialog),
 			GTK_WINDOW (parent));
 	}
 
-	view = GTK_TEXT_VIEW (glade_xml_get_widget (ui, "messagebody"));
+	view = GTK_TEXT_VIEW (gtk_builder_get_object (ui, "messagebody"));
 	buf = gtk_text_view_get_buffer (view);
 	gtk_text_buffer_set_text (buf, "", 0);
 
@@ -402,7 +419,7 @@ create_send_dialog (MyApp *app, GtkDialog *parent, const char *recip)
                 g_error_free (err);
         }
 
-	entry = GTK_ENTRY (glade_xml_get_widget (ui, "recipient"));
+	entry = GTK_ENTRY (gtk_builder_get_object (ui, "recipient"));
 	if (recip)
 		gtk_entry_set_text (entry, recip);
 	else
@@ -419,7 +436,7 @@ create_send_dialog (MyApp *app, GtkDialog *parent, const char *recip)
 	g_signal_connect (G_OBJECT (dialog), "hide",
 			  G_CALLBACK (destroy_send_dialog), (gpointer) ui);
 
-	w = GTK_WIDGET (glade_xml_get_widget (ui, "msgcancelbutton"));
+	w = GTK_WIDGET (gtk_builder_get_object (ui, "msgcancelbutton"));
 	g_signal_connect_swapped (G_OBJECT (w), "clicked",
 				  G_CALLBACK (gtk_widget_hide), (gpointer) dialog);
 
@@ -428,7 +445,7 @@ create_send_dialog (MyApp *app, GtkDialog *parent, const char *recip)
 	g_signal_connect (G_OBJECT (buf), "changed",
 			  G_CALLBACK (set_send_sensitivity), (gpointer) ui);
 
-	w = GTK_WIDGET (glade_xml_get_widget (ui, "sendbutton"));
+	w = GTK_WIDGET (gtk_builder_get_object (ui, "sendbutton"));
 	g_signal_connect (G_OBJECT (w), "clicked",
 			  G_CALLBACK (send_message), (gpointer) ui);
 
@@ -454,6 +471,7 @@ ui_init (MyApp *app)
 {
 	GConfBridge *bridge;
 	GtkWidget *w;
+	GtkWidget *ep = e_phone_entry_new ();
 
 	app->ui = get_ui (app, NULL);
 	bridge = gconf_bridge_get ();
@@ -463,12 +481,12 @@ ui_init (MyApp *app)
 
 	/* close button and windowframe close button just hide the
 	   prefs panel */
-	g_signal_connect_swapped (G_OBJECT (glade_xml_get_widget (app->ui, "prefs_dialog")),
+	g_signal_connect_swapped (G_OBJECT (gtk_builder_get_object (app->ui, "prefs_dialog")),
 				  "delete-event", G_CALLBACK (gtk_widget_hide),
-				  G_OBJECT (glade_xml_get_widget (app->ui, "prefs_dialog")));
+				  G_OBJECT (gtk_builder_get_object (app->ui, "prefs_dialog")));
 
 	/* response */
-	g_signal_connect (glade_xml_get_widget (app->ui, "prefs_dialog"),
+	g_signal_connect (gtk_builder_get_object (app->ui, "prefs_dialog"),
 			  "response",
      			  G_CALLBACK (prefs_dialog_response),
 			  app);
@@ -483,25 +501,25 @@ ui_init (MyApp *app)
 	/* Connect a few toggle buttons */
 	gconf_bridge_bind_property (bridge,
 				    CONFBASE"/auto_retry",
-				    G_OBJECT (glade_xml_get_widget (app->ui, "auto_retry")),
+				    G_OBJECT (gtk_builder_get_object (app->ui, "auto_retry")),
 				    "active");
 	gconf_bridge_bind_property (bridge,
 				    CONFBASE"/sync_clock",
-				    G_OBJECT (glade_xml_get_widget (app->ui, "sync_clock")),
+				    G_OBJECT (gtk_builder_get_object (app->ui, "sync_clock")),
 				    "active");
 	gconf_bridge_bind_property (bridge,
 				    CONFBASE"/popup_messages",
-				    G_OBJECT (glade_xml_get_widget (app->ui, "prefs_popup")),
+				    G_OBJECT (gtk_builder_get_object (app->ui, "prefs_popup")),
 				    "active");
 	gconf_bridge_bind_property (bridge,
 				    CONFBASE"/sound_alert",
-				    G_OBJECT (glade_xml_get_widget (app->ui, "prefs_sound")),
+				    G_OBJECT (gtk_builder_get_object (app->ui, "prefs_sound")),
 				    "active");
 
 	/* And the address chooser */
 	gconf_bridge_bind_property (bridge,
 				    CONFBASE"/bluetooth_addr",
-				    G_OBJECT (glade_xml_get_widget (app->ui, "btchooser")),
+				    G_OBJECT (gtk_builder_get_object (app->ui, "btchooser")),
 				    "device");
 
 	/* set up popup on message */
@@ -519,11 +537,11 @@ ui_hide (MyApp *app)
 	GtkWidget *w;
 	GdkDisplay *display;
 
-	w = glade_xml_get_widget (app->ui, "prefs_dialog");
+	w = GTK_WIDGET (gtk_builder_get_object (app->ui, "prefs_dialog"));
 	display = gtk_widget_get_display (w);
 	gtk_widget_hide (w);
 
-	w = glade_xml_get_widget (app->ui, "send_dialog");
+	w = GTK_WIDGET (gtk_builder_get_object (app->ui, "send_dialog"));
 	gtk_widget_hide (w);
 
 	gdk_display_sync (display);
@@ -532,7 +550,7 @@ ui_hide (MyApp *app)
 void
 show_prefs_window (MyApp *app)
 {
-	GtkWidget *prefs = glade_xml_get_widget (app->ui, "prefs_dialog");
+	GtkWidget *prefs = GTK_WIDGET (gtk_builder_get_object (app->ui, "prefs_dialog"));
 	populate_prefs (app);
 	gtk_widget_show (prefs);
 }
@@ -555,7 +573,7 @@ dequeue_message (MyApp *app)
 	GtkLabel *l_sender, *l_sent;
 	GtkTextBuffer *buf;
 	char *time;
-	GladeXML *ui;
+	GtkBuilder *ui;
 	GtkWidget *w;
 
 	g_mutex_lock (app->message_mutex);
@@ -574,7 +592,7 @@ dequeue_message (MyApp *app)
 
 	ui = get_ui (app, "sms_dialog");
 
-	w = GTK_WIDGET (glade_xml_get_widget (ui, "sms_dialog"));
+	w = GTK_WIDGET (gtk_builder_get_object (ui, "sms_dialog"));
 	g_signal_connect_swapped (G_OBJECT (w), "delete-event",
 			G_CALLBACK (gtk_widget_destroy), (gpointer) w);
 
@@ -582,17 +600,17 @@ dequeue_message (MyApp *app)
 
 	dialog = GTK_DIALOG (w);
 
-	w = GTK_WIDGET (glade_xml_get_widget (ui, "okbutton"));
+	w = GTK_WIDGET (gtk_builder_get_object (ui, "okbutton"));
 	g_signal_connect_swapped(G_OBJECT (w), "clicked",
 			G_CALLBACK (gtk_widget_destroy), (gpointer) dialog);
 
-	w = GTK_WIDGET (glade_xml_get_widget (ui, "replybutton"));
+	w = GTK_WIDGET (gtk_builder_get_object (ui, "replybutton"));
 	g_signal_connect_swapped (G_OBJECT (w), "clicked",
 			G_CALLBACK (message_dialog_reply), (gpointer) ui);
 
-	l_sender = GTK_LABEL (glade_xml_get_widget (ui, "senderlabel"));
-	l_sent = GTK_LABEL (glade_xml_get_widget (ui, "datelabel"));
-	textview = GTK_TEXT_VIEW (glade_xml_get_widget (ui, "messagecontents"));
+	l_sender = GTK_LABEL (gtk_builder_get_object (ui, "senderlabel"));
+	l_sent = GTK_LABEL (gtk_builder_get_object (ui, "datelabel"));
+	textview = GTK_TEXT_VIEW (gtk_builder_get_object (ui, "messagecontents"));
 
 	buf = gtk_text_view_get_buffer (textview);
 	gtk_text_buffer_set_text (buf, msg->message, strlen (msg->message));
