← Back to team overview

weather-indicator-team team mailing list archive

[Merge] lp:~and471/weather-indicator/ui-improvements into lp:weather-indicator

 

Andrew has proposed merging lp:~and471/weather-indicator/ui-improvements into lp:weather-indicator.

Requested reviews:
  Weather Indicator Team (weather-indicator-team)

For more details, see:
https://code.launchpad.net/~and471/weather-indicator/ui-improvements/+merge/50007

Basically, a general polish and improvement of the UI. You can see the changes made below:

http://i.imgur.com/dbj0v.png
http://i.imgur.com/bhfaY.png
http://i.imgur.com/wSFXH.png
http://i.imgur.com/OYdpv.png
http://i.imgur.com/iOiH6.png
http://i.imgur.com/T8Nu4.png
http://i.imgur.com/thEO8.png

(For more detail, see commit messages.)
-- 
https://code.launchpad.net/~and471/weather-indicator/ui-improvements/+merge/50007
Your team Weather Indicator Team is requested to review the proposed merge of lp:~and471/weather-indicator/ui-improvements into lp:weather-indicator.
=== modified file 'bin/indicator-weather'
--- bin/indicator-weather	2011-02-07 07:26:07 +0000
+++ bin/indicator-weather	2011-02-16 16:39:16 +0000
@@ -995,7 +995,8 @@
         if int(self.builder.get_object('rate').get_value()) != wi.rate:
             gconfClient.set_int("/apps/indicator-weather/refresh_rate", int(self.builder.get_object('rate').get_value()))
             wi.rate = int(self.builder.get_object('rate').get_value())
-            gobject.source_remove(wi.rateid)
+            if hasattr(wi, "rateid"):
+                gobject.source_remove(wi.rateid)
             wi.rateid = gobject.timeout_add(int(wi.rate) * 60000, wi.update_weather)
             print 'Rate changed :',wi.rate
             

=== modified file 'data/ui/Assistant.ui'
--- data/ui/Assistant.ui	2011-02-03 10:24:33 +0000
+++ data/ui/Assistant.ui	2011-02-16 16:39:16 +0000
@@ -1,27 +1,32 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <interface>
   <requires lib="gtk+" version="2.16"/>
   <!-- interface-requires assistant 1.0 -->
   <!-- interface-naming-policy project-wide -->
   <!-- interface-local-resource-path ../media -->
   <object class="Assistant" id="assistant">
-    <property name="title" translatable="yes">Assistant to set up the weather indicator</property>
-    <property name="resizable">False</property>
+    <property name="border_width">12</property>
+    <property name="title" translatable="yes">Add a location</property>
     <property name="window_position">mouse</property>
+    <property name="default_width">400</property>
+    <property name="default_height">200</property>
     <property name="deletable">False</property>
     <signal name="apply" handler="on_apply"/>
     <signal name="cancel" handler="on_cancel"/>
     <child>
+      <placeholder/>
+    </child>
+    <child>
       <object class="GtkVBox" id="placeinput">
         <property name="visible">True</property>
+        <property name="border_width">12</property>
         <child>
           <object class="GtkLabel" id="lblplaceinput">
             <property name="visible">True</property>
             <property name="xalign">0</property>
             <property name="yalign">0</property>
-            <property name="xpad">6</property>
             <property name="ypad">6</property>
-            <property name="label" translatable="yes">Please select a location from the location tree</property>
+            <property name="label" translatable="yes">Please select a location from below:</property>
             <property name="wrap">True</property>
             <property name="wrap_mode">word-char</property>
           </object>
@@ -30,40 +35,42 @@
           </packing>
         </child>
         <child>
-            <object class="GtkScrolledWindow" id="treebox">
+          <object class="GtkScrolledWindow" id="treebox">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="hscrollbar_policy">automatic</property>
+            <property name="vscrollbar_policy">automatic</property>
+            <property name="shadow_type">in</property>
+            <child>
+              <object class="GtkTreeView" id="treeview-locations">
+                <property name="height_request">250</property>
                 <property name="visible">True</property>
-                <property name="hscrollbar-policy">1</property>
-                <property name="vscrollbar-policy">1</property>
-                <child>
-                    <object class="GtkTreeView" id="treeview-locations">
-                        <property name="visible">True</property>
-                        <property name="show-expanders">True</property>
-                        <property name="headers-visible">False</property>
-                        <property name="height-request">250</property>
-                        <property name="fixed-height-mode">True</property>
-                    </object>
-                </child>
-            </object>
-            <packing>
-                <property name="position">2</property>
-            </packing>
+                <property name="headers_visible">False</property>
+                <property name="fixed_height_mode">True</property>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="position">2</property>
+          </packing>
         </child>
       </object>
       <packing>
-            <property name="title" translatable="yes">Add a place</property>
+        <property name="title" translatable="yes">Select a location</property>
       </packing>
     </child>
     <child>
       <object class="GtkVBox" id="confirmplace">
         <property name="visible">True</property>
+        <property name="border_width">12</property>
+        <property name="spacing">6</property>
         <child>
           <object class="GtkLabel" id="lblisthis">
             <property name="visible">True</property>
             <property name="xalign">0</property>
             <property name="yalign">0</property>
-            <property name="xpad">6</property>
             <property name="ypad">6</property>
-            <property name="label" translatable="yes">Is this the place you were looking for?</property>
+            <property name="label" translatable="yes">You have selected:</property>
             <property name="wrap">True</property>
             <property name="wrap_mode">word-char</property>
           </object>
@@ -75,10 +82,12 @@
         <child>
           <object class="GtkLabel" id="lblplace">
             <property name="visible">True</property>
+            <property name="xalign">0</property>
             <property name="label" translatable="yes">&lt;big&gt;Rungis, France&lt;/big&gt;</property>
             <property name="use_markup">True</property>
           </object>
           <packing>
+            <property name="expand">False</property>
             <property name="position">1</property>
           </packing>
         </child>
@@ -87,84 +96,62 @@
             <property name="visible">True</property>
             <property name="xalign">0</property>
             <property name="yalign">0</property>
-            <property name="xpad">6</property>
             <property name="ypad">6</property>
-            <property name="label" translatable="yes">If yes, then you can go on. Otherwise, you'll have to go back and set a new city.</property>
+            <property name="label" translatable="yes">If this is not correct, please go back and select a new city.</property>
             <property name="wrap">True</property>
           </object>
           <packing>
+            <property name="expand">False</property>
             <property name="position">2</property>
           </packing>
         </child>
       </object>
       <packing>
-        <property name="title" translatable="yes">Confirm the place</property>
+        <property name="title" translatable="yes">Confirm choice</property>
       </packing>
     </child>
     <child>
       <object class="GtkVBox" id="label">
         <property name="visible">True</property>
+        <property name="border_width">12</property>
+        <property name="spacing">6</property>
         <child>
           <object class="GtkLabel" id="lblwould">
             <property name="visible">True</property>
-            <property name="label" translatable="yes">Would you like to label this location ?
-If yes, type it below. 
-If no, leave blank and go on.</property>
+            <property name="xalign">0</property>
+            <property name="label" translatable="yes">Please enter a name for this location:</property>
           </object>
           <packing>
+            <property name="expand">False</property>
             <property name="position">0</property>
           </packing>
         </child>
         <child>
-          <object class="GtkHBox" id="hbox4">
+          <object class="GtkEntry" id="entrylbl">
             <property name="visible">True</property>
-            <property name="spacing">6</property>
-            <child>
-              <object class="GtkFixed" id="fixed1">
-                <property name="visible">True</property>
-              </object>
-              <packing>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkEntry" id="entrylbl">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="invisible_char">&#x2022;</property>
-              </object>
-              <packing>
-                <property name="position">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkFixed" id="fixed2">
-                <property name="visible">True</property>
-              </object>
-              <packing>
-                <property name="position">2</property>
-              </packing>
-            </child>
+            <property name="can_focus">True</property>
+            <property name="invisible_char">•</property>
           </object>
           <packing>
+            <property name="expand">False</property>
             <property name="position">1</property>
           </packing>
         </child>
       </object>
       <packing>
-        <property name="title" translatable="yes">Label This Location</property>
+        <property name="title" translatable="yes">Name the location</property>
       </packing>
     </child>
     <child>
       <object class="GtkVBox" id="review">
         <property name="visible">True</property>
+        <property name="border_width">12</property>
         <child>
           <object class="GtkLabel" id="lblreview">
             <property name="visible">True</property>
             <property name="xalign">0</property>
-            <property name="xpad">6</property>
             <property name="ypad">6</property>
-            <property name="label" translatable="yes">Review your settings. You may go back and make changes if needed.</property>
+            <property name="label" translatable="yes">Please review the choices below. If anything is not correct, please go back and select the correct options.</property>
             <property name="wrap">True</property>
             <property name="wrap_mode">word-char</property>
           </object>
@@ -174,91 +161,113 @@
           </packing>
         </child>
         <child>
-          <object class="GtkHBox" id="revplace">
+          <object class="GtkAlignment" id="alignment1">
             <property name="visible">True</property>
-            <property name="spacing">5</property>
-            <child>
-              <object class="GtkArrow" id="arrow2">
-                <property name="visible">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="lbl2">
-                <property name="visible">True</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">Location:</property>
-                <property name="use_markup">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="placelbl">
-                <property name="visible">True</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">&lt;b&gt;Orange, Texas&lt;/b&gt;</property>
-                <property name="use_markup">True</property>
-              </object>
-              <packing>
-                <property name="position">2</property>
-              </packing>
+            <property name="left_padding">12</property>
+            <child>
+              <object class="GtkVBox" id="vbox1">
+                <property name="visible">True</property>
+                <child>
+                  <object class="GtkHBox" id="revlabel">
+                    <property name="visible">True</property>
+                    <property name="spacing">5</property>
+                    <child>
+                      <object class="GtkArrow" id="arrow3">
+                        <property name="visible">True</property>
+                        <property name="sensitive">False</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="lbl3">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Label:</property>
+                        <property name="use_markup">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="labellbl">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Home&lt;/b&gt;</property>
+                        <property name="use_markup">True</property>
+                      </object>
+                      <packing>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkHBox" id="revplace">
+                    <property name="visible">True</property>
+                    <property name="spacing">5</property>
+                    <child>
+                      <object class="GtkArrow" id="arrow2">
+                        <property name="visible">True</property>
+                        <property name="sensitive">False</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="lbl2">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Location:</property>
+                        <property name="use_markup">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="placelbl">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Orange, Texas&lt;/b&gt;</property>
+                        <property name="use_markup">True</property>
+                      </object>
+                      <packing>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
             </child>
           </object>
           <packing>
+            <property name="expand">False</property>
             <property name="position">1</property>
           </packing>
         </child>
         <child>
-          <object class="GtkHBox" id="revlabel">
-            <property name="visible">True</property>
-            <property name="spacing">5</property>
-            <child>
-              <object class="GtkArrow" id="arrow3">
-                <property name="visible">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="lbl3">
-                <property name="visible">True</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">Label:</property>
-                <property name="use_markup">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="labellbl">
-                <property name="visible">True</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">&lt;b&gt;Home&lt;/b&gt;</property>
-                <property name="use_markup">True</property>
-              </object>
-              <packing>
-                <property name="position">2</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="position">2</property>
-          </packing>
+          <placeholder/>
         </child>
       </object>
       <packing>
         <property name="page_type">confirm</property>
-        <property name="title" translatable="yes">Review your settings</property>
+        <property name="title" translatable="yes">Review choices</property>
       </packing>
     </child>
   </object>

=== modified file 'data/ui/ExtendedForecast.ui'
--- data/ui/ExtendedForecast.ui	2011-02-03 10:24:33 +0000
+++ data/ui/ExtendedForecast.ui	2011-02-16 16:39:16 +0000
@@ -1,11 +1,11 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <interface>
   <requires lib="gtk+" version="2.16"/>
   <!-- interface-requires extended_forecast 1.0 -->
   <!-- interface-naming-policy project-wide -->
   <!-- interface-local-resource-path ../media -->
   <object class="ExtendedForecast" id="extended_forecast">
-    <property name="border_width">5</property>
+    <property name="border_width">12</property>
     <property name="title" translatable="yes">Extended Forecast</property>
     <property name="resizable">False</property>
     <property name="window_position">mouse</property>
@@ -71,7 +71,7 @@
                             <child>
                               <object class="GtkLabel" id="day1temphigh">
                                 <property name="visible">True</property>
-                                <property name="label">High : 23&#xB0;C</property>
+                                <property name="label">High : 23°C</property>
                               </object>
                               <packing>
                                 <property name="position">0</property>
@@ -80,7 +80,7 @@
                             <child>
                               <object class="GtkLabel" id="day1templow">
                                 <property name="visible">True</property>
-                                <property name="label">Low : 19&#xB0;C</property>
+                                <property name="label">Low : 19°C</property>
                               </object>
                               <packing>
                                 <property name="position">1</property>
@@ -165,7 +165,7 @@
                             <child>
                               <object class="GtkLabel" id="day2temphigh">
                                 <property name="visible">True</property>
-                                <property name="label">High : 26&#xB0;C</property>
+                                <property name="label">High : 26°C</property>
                               </object>
                               <packing>
                                 <property name="position">0</property>
@@ -174,7 +174,7 @@
                             <child>
                               <object class="GtkLabel" id="day2templow">
                                 <property name="visible">True</property>
-                                <property name="label">Low : 16&#xB0;C</property>
+                                <property name="label">Low : 16°C</property>
                               </object>
                               <packing>
                                 <property name="position">1</property>
@@ -260,7 +260,7 @@
                             <child>
                               <object class="GtkLabel" id="day3temphigh">
                                 <property name="visible">True</property>
-                                <property name="label">High : 28&#xB0;C</property>
+                                <property name="label">High : 28°C</property>
                               </object>
                               <packing>
                                 <property name="position">0</property>
@@ -269,7 +269,7 @@
                             <child>
                               <object class="GtkLabel" id="day3templow">
                                 <property name="visible">True</property>
-                                <property name="label">Low : 16&#xB0;C</property>
+                                <property name="label">Low : 16°C</property>
                               </object>
                               <packing>
                                 <property name="position">1</property>
@@ -351,7 +351,7 @@
                             <child>
                               <object class="GtkLabel" id="day4temphigh">
                                 <property name="visible">True</property>
-                                <property name="label">High : 26&#xB0;C</property>
+                                <property name="label">High : 26°C</property>
                               </object>
                               <packing>
                                 <property name="position">0</property>
@@ -360,7 +360,7 @@
                             <child>
                               <object class="GtkLabel" id="day4templow">
                                 <property name="visible">True</property>
-                                <property name="label">Low : 14&#xB0;C</property>
+                                <property name="label">Low : 14°C</property>
                               </object>
                               <packing>
                                 <property name="position">1</property>

=== modified file 'data/ui/PreferencesDialog.ui'
--- data/ui/PreferencesDialog.ui	2011-02-05 09:12:31 +0000
+++ data/ui/PreferencesDialog.ui	2011-02-16 16:39:16 +0000
@@ -1,4 +1,4 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <interface>
   <requires lib="gtk+" version="2.16"/>
   <!-- interface-requires preferences_dialog 1.0 -->
@@ -12,358 +12,402 @@
     </columns>
   </object>
   <object class="PreferencesDialog" id="preferences_dialog">
-    <property name="border_width">5</property>
+    <property name="border_width">12</property>
     <property name="title" translatable="yes">Weather Indicator Preferences</property>
-    <property name="resizable">False</property>
     <property name="window_position">mouse</property>
-    <property name="default_width">440</property>
-    <property name="default_height">370</property>
+    <property name="default_width">320</property>
+    <property name="default_height">300</property>
     <property name="icon">../media/icon.png</property>
     <property name="type_hint">normal</property>
     <child internal-child="vbox">
       <object class="GtkVBox" id="dialog-vbox1">
         <property name="visible">True</property>
-        <property name="spacing">2</property>
+        <property name="spacing">6</property>
         <child>
-          <object class="GtkVBox" id="vboxpreferences">
+          <object class="GtkNotebook" id="notebook1">
             <property name="visible">True</property>
-            <child>
-              <object class="GtkCheckButton" id="enableindicator">
-                <property name="label" translatable="yes">Enable the Weather Indicator Applet</property>
-                <property name="can_focus">False</property>
-                <property name="receives_default">False</property>
-                <property name="xalign">0.02</property>
-                <property name="active">True</property>
-                <property name="draw_indicator">True</property>
-              </object>
-              <packing>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkHSeparator" id="hseparator1"/>
-              <packing>
-                <property name="expand">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="notificationslabel">
-                <property name="visible">True</property>
-                <property name="xalign">0.02</property>
-                <property name="label" translatable="yes">&lt;big&gt;Notifications&lt;/big&gt;</property>
-                <property name="use_markup">True</property>
-              </object>
-              <packing>
-                <property name="position">2</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkAlignment" id="alignment1">
-                <property name="visible">True</property>
-                <property name="right_padding">58</property>
+            <property name="can_focus">True</property>
+            <child>
+              <object class="GtkVBox" id="vboxpreferences">
+                <property name="visible">True</property>
+                <property name="border_width">12</property>
+                <property name="spacing">12</property>
                 <child>
-                  <object class="GtkVButtonBox" id="vbuttonbox2">
+                  <object class="GtkVBox" id="vbox8">
                     <property name="visible">True</property>
                     <property name="homogeneous">True</property>
-                    <property name="layout_style">start</property>
                     <child>
-                      <object class="GtkRadioButton" id="nonotif">
-                        <property name="label" translatable="yes">No notifications</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
+                      <object class="GtkCheckButton" id="enableindicator">
+                        <property name="label" translatable="yes">Enable the Weather Indicator Applet</property>
+                        <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
+                        <property name="xalign">0.019999999552965164</property>
                         <property name="active">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="GtkRadioButton" id="notifsevere">
-                        <property name="label" translatable="yes">Only use notifications to give severe weather alerts</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
+                      <object class="GtkCheckButton" id="check_tips">
+                        <property name="label" translatable="yes">Show tips in menu</property>
+                        <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
                         <property name="draw_indicator">True</property>
-                        <property name="group">nonotif</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="notifall">
-                        <property name="label" translatable="yes">Use notifications to give every weather condition change</property>
+                      <object class="GtkHBox" id="hbox_updateevery">
                         <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="receives_default">False</property>
-                        <property name="active">True</property>
-                        <property name="draw_indicator">True</property>
-                        <property name="group">nonotif</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <object class="GtkLabel" id="updateevery">
+                            <property name="visible">True</property>
+                            <property name="xalign">1</property>
+                            <property name="label" translatable="yes">Update every</property>
+                            <property name="use_markup">True</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkSpinButton" id="spinbutton_rate">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="invisible_char">•</property>
+                            <property name="adjustment">rate</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="label4">
+                            <property name="visible">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">minutes</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="position">2</property>
+                          </packing>
+                        </child>
                       </object>
                       <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">False</property>
                         <property name="position">2</property>
                       </packing>
                     </child>
                   </object>
-                </child>
-              </object>
-              <packing>
-                <property name="position">3</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkCheckButton" id="check_tips">
-                <property name="label" translatable="yes">Show tips in menu</property>
-                <property name="can_focus">False</property>
-                <property name="receives_default">False</property>
-                <property name="draw_indicator">True</property>
-              </object>
-              <packing>
-                <property name="position">4</property>
-              </packing>
-            </child>
-            <child>
-                <object class="GtkLabel" id="Metric System Unit">
-                    <property name="label" translatable="yes">&lt;big&gt;Metric Scale&lt;/big&gt;</property>
-                    <property name="xalign">0.02</property>
-                    <property name="use_markup">True</property>
-                    <property name="visible">True</property>
-                </object>
-                <packing>
-                    <property name="position">4</property>
-                </packing>
-            </child>
-            <child>
-                <object class="GtkAlignment" id="alignment2">
-                    <property name="visible">True</property>
-                    <property name="xalign">0.01</property>
-                    <property name="xscale">0</property>
-                    <child>
-                        <object class="GtkVButtonBox" id="Metric System Radioboxes">
-                            <property name="visible">True</property>
-                            <property name="homogeneous">True</property>
-                            <property name="layout_style">start</property>
-                            <child>
-                                <object class="GtkRadioButton" id="si">
-                                    <property name="label" translatable="yes">SI</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="active">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>
-                            <child>
-                                <object class="GtkRadioButton" id="imperial">
-                                    <property name="label" translatable="yes">Imperial</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="draw_indicator">True</property>
-                                    <property name="group">si</property>
-                                </object>
-                                <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">2</property>
-                                </packing>
-                            </child>
-                        </object>
-                    </child>
-                </object>
-                <packing>
-                    <property name="position">5</property>
-                </packing>
-            </child>
-            <child>
-                <object class="GtkLabel" id="Wind Speed Unit">
-                    <property name="label" translatable="yes">&lt;big&gt;Wind Speed Unit&lt;/big&gt;</property>
-                    <property name="xalign">0.02</property>
-                    <property name="use_markup">True</property>
-                    <property name="visible">True</property>
-                </object>
-                <packing>
-                    <property name="position">6</property>
-                </packing>
-            </child>
-            <child>
-                <object class="GtkAlignment" id="alignment3">
-                    <property name="visible">True</property>
-                    <property name="xalign">0.01</property>
-                    <property name="xscale">0</property>
-                    <child>
-                        <object class="GtkVButtonBox" id="Wind Unit Radioboxes">
-                            <property name="visible">True</property>
-                            <property name="homogeneous">True</property>
-                            <property name="layout_style">start</property>
-                            <child>
-                                <object class="GtkRadioButton" id="mps">
-                                    <property name="label" translatable="yes">MPS</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="active">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="GtkRadioButton" id="mph">
-                                    <property name="label" translatable="yes">MPH</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="draw_indicator">True</property>
-                                    <property name="group">mps</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="beaufort">
-                                    <property name="label" translatable="yes">Beaufort</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="draw_indicator">True</property>
-                                    <property name="group">mps</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="knots">
-                                    <property name="label" translatable="yes">Knots</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="draw_indicator">True</property>
-                                    <property name="group">mps</property>
-                                </object>
-                                <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">3</property>
-                                </packing>
-                            </child>-->
-                        </object> 
-                    </child>
-                </object>
-                <packing>
-                    <property name="position">7</property>
-                </packing>
-            </child>        
-            <child>
-              <object class="GtkHBox" id="hbox_updateevery">
-                <property name="visible">True</property>
-                <child>
-                  <object class="GtkAlignment" id="alignment4">
-                    <property name="visible">True</property>
-                    <property name="xalign">0.02</property>
-                    <property name="yalign">0</property>
-                    <property name="xscale">0.47</property>
-                    <property name="left_padding">8</property>
-                    <property name="right_padding">15</property>
-                    <child>
-                      <object class="GtkLabel" id="updateevery">
-                        <property name="visible">True</property>
-                        <property name="label" translatable="yes">&lt;big&gt;Update every (min.)&lt;/big&gt;</property>
-                        <property name="use_markup">True</property>
-                      </object>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkHScale" id="hscale_rate">
-                    <property name="visible">True</property>
-                    <property name="update_policy">delayed</property>
-                    <property name="adjustment">rate</property>
-                    <property name="upper_stepper_sensitivity">on</property>
-                    <property name="fill_level">30</property>
-                    <property name="digits">0</property>
-                  </object>
-                  <packing>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-              </object>
-              <packing>
-                <property name="position">8</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="locations">
-                <property name="visible">True</property>
-                <property name="xalign">0.02</property>
-                <property name="label" translatable="yes">&lt;big&gt;Locations&lt;/big&gt;</property>
-                <property name="use_markup">True</property>
-              </object>
-              <packing>
-                <property name="position">9</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkHBox" id="hbox2">
-                <property name="visible">True</property>
-                <child>
-                  <object class="GtkAlignment" id="alignment5">
-                    <property name="visible">True</property>
-                    <property name="bottom_padding">4</property>
-                    <property name="left_padding">8</property>
-                    <child>
-                      <object class="GtkScrolledWindow" id="scrolledwindow1">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="hscrollbar_policy">automatic</property>
-                        <property name="vscrollbar_policy">automatic</property>
-                        <property name="window_placement_set">True</property>
-                        <child>
-                          <object class="GtkTreeView" id="displaylist">
-                            <property name="visible">True</property>
-                            <property name="model">citieslist</property>
-                            <property name="headers_visible">False</property>
-                            <property name="headers_clickable">False</property>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkVBox" id="vbox1">
+                    <property name="visible">True</property>
+                    <child>
+                      <object class="GtkLabel" id="notificationslabel">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="ypad">3</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Notifications&lt;/b&gt;</property>
+                        <property name="use_markup">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkAlignment" id="alignment1">
+                        <property name="visible">True</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <object class="GtkVBox" id="vbox4">
+                            <property name="visible">True</property>
+                            <property name="homogeneous">True</property>
+                            <child>
+                              <object class="GtkRadioButton" id="nonotif">
+                                <property name="label" translatable="yes">No notifications</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="active">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="GtkRadioButton" id="notifsevere">
+                                <property name="label" translatable="yes">Only use notifications to give severe weather alerts</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="draw_indicator">True</property>
+                                <property name="group">nonotif</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="notifall">
+                                <property name="label" translatable="yes">Use notifications to give every weather condition change</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="draw_indicator">True</property>
+                                <property name="group">nonotif</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">2</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>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="label1">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">General</property>
+              </object>
+              <packing>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkVBox" id="vbox9">
+                <property name="visible">True</property>
+                <property name="border_width">12</property>
+                <property name="spacing">12</property>
+                <child>
+                  <object class="GtkVBox" id="vbox2">
+                    <property name="visible">True</property>
+                    <child>
+                      <object class="GtkLabel" id="Metric System Unit">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="ypad">3</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Metric Scale&lt;/b&gt;</property>
+                        <property name="use_markup">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkAlignment" id="alignment2">
+                        <property name="visible">True</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <object class="GtkVBox" id="vbox5">
+                            <property name="visible">True</property>
+                            <property name="homogeneous">True</property>
+                            <child>
+                              <object class="GtkRadioButton" id="imperial">
+                                <property name="label" translatable="yes">Imperial</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="active">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="GtkRadioButton" id="si">
+                                <property name="label" translatable="yes">SI</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="draw_indicator">True</property>
+                                <property name="group">imperial</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="expand">False</property>
+                        <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="vbox3">
+                    <property name="visible">True</property>
+                    <child>
+                      <object class="GtkLabel" id="Wind Speed Unit">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="ypad">3</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Wind Speed Unit&lt;/b&gt;</property>
+                        <property name="use_markup">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkAlignment" id="alignment3">
+                        <property name="visible">True</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <object class="GtkVBox" id="vbox6">
+                            <property name="visible">True</property>
+                            <property name="homogeneous">True</property>
+                            <child>
+                              <object class="GtkRadioButton" id="mps">
+                                <property name="label" translatable="yes">MPS</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="active">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="GtkRadioButton" id="mph">
+                                <property name="label" translatable="yes">MPH</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="draw_indicator">True</property>
+                                <property name="group">mps</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="beaufort">
+                                <property name="label" translatable="yes">Beaufort</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="draw_indicator">True</property>
+                                <property name="group">mps</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">2</property>
+                              </packing>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <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="label2">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">Units</property>
+              </object>
+              <packing>
+                <property name="position">1</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkVBox" id="vbox7">
+                <property name="visible">True</property>
+                <property name="border_width">12</property>
+                <property name="spacing">6</property>
+                <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="window_placement_set">True</property>
+                    <property name="shadow_type">in</property>
+                    <child>
+                      <object class="GtkTreeView" id="displaylist">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="model">citieslist</property>
+                        <property name="headers_visible">False</property>
+                        <property name="headers_clickable">False</property>
+                        <property name="reorderable">True</property>
+                        <property name="search_column">0</property>
+                        <child>
+                          <object class="GtkTreeViewColumn" id="City">
+                            <property name="title">City</property>
                             <property name="reorderable">True</property>
-                            <property name="search_column">0</property>
                             <child>
-                              <object class="GtkTreeViewColumn" id="City">
-                                <property name="title">City</property>
-                                <property name="reorderable">True</property>
-                                <child>
-                                  <object class="GtkCellRendererText" id="City name"/>
-                                  <attributes>
-                                    <attribute name="text">0</attribute>
-                                  </attributes>
-                                </child>
-                              </object>
+                              <object class="GtkCellRendererText" id="City name"/>
+                              <attributes>
+                                <attribute name="text">0</attribute>
+                              </attributes>
                             </child>
                           </object>
                         </child>
@@ -375,55 +419,59 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkAlignment" id="alignment6">
+                  <object class="GtkHButtonBox" id="hbuttonbox1">
                     <property name="visible">True</property>
-                    <property name="xalign">0.02</property>
-                    <property name="xscale">0.2</property>
-                    <child>
-                      <object class="GtkVButtonBox" id="vbuttonbox1">
-                        <property name="visible">True</property>
-                        <property name="homogeneous">True</property>
-                        <property name="layout_style">spread</property>
-                        <child>
-                          <object class="GtkButton" id="add">
-                            <property name="label">gtk-add</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="receives_default">True</property>
-                            <property name="use_stock">True</property>
-                            <signal name="clicked" handler="on_add_location"/>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkButton" id="remove">
-                            <property name="label">gtk-delete</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="receives_default">True</property>
-                            <property name="use_stock">True</property>
-                            <signal name="clicked" handler="on_remove_location"/>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </object>
+                    <property name="spacing">6</property>
+                    <property name="layout_style">start</property>
+                    <child>
+                      <object class="GtkButton" id="add">
+                        <property name="label">gtk-add</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">True</property>
+                        <property name="use_stock">True</property>
+                        <signal name="clicked" handler="on_add_location"/>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkButton" id="remove">
+                        <property name="label">gtk-delete</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">True</property>
+                        <property name="use_stock">True</property>
+                        <signal name="clicked" handler="on_remove_location"/>
+                      </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="position">1</property>
                   </packing>
                 </child>
               </object>
               <packing>
-                <property name="position">10</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="label3">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">Locations</property>
+              </object>
+              <packing>
+                <property name="position">2</property>
+                <property name="tab_fill">False</property>
               </packing>
             </child>
           </object>
@@ -454,10 +502,10 @@
               <object class="GtkButton" id="button1">
                 <property name="label">gtk-ok</property>
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="receives_default">True</property>
-                <property name="use_stock">True</property>
                 <property name="sensitive">False</property>
+                <property name="can_focus">False</property>
+                <property name="receives_default">True</property>
+                <property name="use_stock">True</property>
                 <signal name="clicked" handler="ok"/>
               </object>
               <packing>
@@ -469,6 +517,7 @@
           </object>
           <packing>
             <property name="expand">False</property>
+            <property name="fill">False</property>
             <property name="pack_type">end</property>
             <property name="position">0</property>
           </packing>
@@ -485,6 +534,5 @@
     <property name="upper">30</property>
     <property name="step_increment">1</property>
     <property name="page_increment">10</property>
-    <property name="page_size">10</property>
   </object>
 </interface>