[blam/gtk3: 1/3] Initial GTK#3 attempt



commit 399104f784cc4c18a9e22369d962e2fc5287ea83
Author: Carlos Martín Nieto <cmn dwim me>
Date:   Sun Oct 13 01:53:18 2013 +0200

    Initial GTK#3 attempt
    
    A lot of code is commented out

 blam.csproj                              |   58 ++---
 gtk-gui/Imendio.Blam.AddChannelDialog.cs |  171 -----------
 gtk-gui/generated.cs                     |   29 --
 gtk-gui/gui.stetic                       |  465 ------------------------------
 src/Application.cs                       |    2 +
 src/Channel.cs                           |    3 +-
 src/ChannelDialog.cs                     |    1 -
 src/ChannelList.cs                       |   41 ++--
 src/Conf.cs                              |  111 +-------
 src/Dialogs.cs                           |   94 +------
 src/HigUtils.cs                          |    1 -
 src/ItemList.cs                          |   35 ++-
 src/ItemView.cs                          |   27 +-
 src/Opml.cs                              |    3 +-
 src/PreferencesDialog.cs                 |  142 +---------
 src/Proxy.cs                             |   27 +-
 src/ThemeManager.cs                      |   15 +-
 src/TrayIcon.cs                          |    6 +-
 src/TreeSelectionExtensions.cs           |    4 +-
 src/UnreadNotification.cs                |   10 +-
 src/blam.ui                              |   27 +--
 src/dialogs.ui                           |   76 ++----
 22 files changed, 148 insertions(+), 1200 deletions(-)
---
diff --git a/blam.csproj b/blam.csproj
index 3b4a53a..bf68195 100644
--- a/blam.csproj
+++ b/blam.csproj
@@ -36,68 +36,50 @@
   </PropertyGroup>
   <ItemGroup>
     <Reference Include="System" />
-    <Reference Include="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f">
-      <SpecificVersion>False</SpecificVersion>
-      <Package>gtk-sharp-2.0</Package>
-    </Reference>
-    <Reference Include="glib-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f">
-      <SpecificVersion>False</SpecificVersion>
-      <Package>glib-sharp-2.0</Package>
-    </Reference>
-    <Reference Include="glade-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f">
-      <SpecificVersion>False</SpecificVersion>
-      <Package>glade-sharp-2.0</Package>
-    </Reference>
-    <Reference Include="pango-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f">
-      <SpecificVersion>False</SpecificVersion>
-      <Package>gtk-sharp-2.0</Package>
-    </Reference>
-    <Reference Include="atk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f">
-      <SpecificVersion>False</SpecificVersion>
-      <Package>gtk-sharp-2.0</Package>
-    </Reference>
     <Reference Include="Mono.Posix" />
     <Reference Include="System.Core" />
     <Reference Include="System.Xml" />
     <Reference Include="System.ServiceModel" />
-    <Reference Include="webkit-sharp, Version=1.1.15.0, Culture=neutral, PublicKeyToken=eaa1d335d2e19745">
+    <Reference Include="System.Web" />
+    <Reference Include="Microsoft.CSharp" />
+    <Reference Include="System.Reactive.Core, Version=2.1.30214.0, Culture=neutral, 
PublicKeyToken=31bf3856ad364e35">
       <Private>False</Private>
-      <Package>webkit-sharp-1.0</Package>
     </Reference>
-    <Reference Include="notify-sharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=2df29c54e245917a">
+    <Reference Include="System.Reactive.Linq, Version=2.1.30214.0, Culture=neutral, 
PublicKeyToken=31bf3856ad364e35">
       <Private>False</Private>
-      <Package>notify-sharp</Package>
     </Reference>
-    <Reference Include="System.Web" />
-    <Reference Include="gdk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f">
+    <Reference Include="System.Reactive.Interfaces, Version=2.1.30214.0, Culture=neutral, 
PublicKeyToken=31bf3856ad364e35">
       <Private>False</Private>
-      <Package>gtk-sharp-2.0</Package>
     </Reference>
-    <Reference Include="Microsoft.CSharp" />
-    <Reference Include="gconf-sharp, Version=2.24.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f">
+    <Reference Include="atk-sharp, Version=3.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f">
       <Private>False</Private>
-      <Package>gconf-sharp-2.0</Package>
     </Reference>
-    <Reference Include="System.Reactive.Core, Version=2.1.30214.0, Culture=neutral, 
PublicKeyToken=31bf3856ad364e35">
+    <Reference Include="gtk-sharp, Version=3.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f">
       <Private>False</Private>
     </Reference>
-    <Reference Include="System.Reactive.Linq, Version=2.1.30214.0, Culture=neutral, 
PublicKeyToken=31bf3856ad364e35">
+    <Reference Include="pango-sharp, Version=3.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+    <Reference Include="gdk-sharp, Version=3.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+    <Reference Include="gdk-sharp, Version=3.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f">
       <Private>False</Private>
     </Reference>
-    <Reference Include="System.Reactive.Interfaces, Version=2.1.30214.0, Culture=neutral, 
PublicKeyToken=31bf3856ad364e35">
+    <Reference Include="gio-sharp, Version=3.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f">
+      <Private>False</Private>
+    </Reference>
+    <Reference Include="webkitgtk-sharp">
+      <HintPath>..\..\..\..\..\usr\local\lib\mono\webkitgtk-sharp\webkitgtk-sharp.dll</HintPath>
+    </Reference>
+    <Reference Include="glib-sharp, Version=3.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f">
       <Private>False</Private>
     </Reference>
   </ItemGroup>
   <ItemGroup>
     <Compile Include="src\Application.cs" />
     <Compile Include="src\ChannelCollection.cs" />
-    <Compile Include="src\ChannelDialog.cs" />
     <Compile Include="src\ChannelGroup.cs" />
     <Compile Include="src\ChannelList.cs" />
     <Compile Include="src\Conf.cs" />
     <Compile Include="src\Delegates.cs" />
     <Compile Include="src\Dialogs.cs" />
-    <Compile Include="src\HigUtils.cs" />
     <Compile Include="src\HtmlUtils.cs" />
     <Compile Include="src\Item.cs" />
     <Compile Include="src\ItemList.cs" />
@@ -114,9 +96,6 @@
     <Compile Include="src\gtk-sharp-beans\Global.cs" />
     <Compile Include="src\Defines.cs" />
     <Compile Include="src\Channel.cs" />
-    <Compile Include="gtk-gui\generated.cs" />
-    <Compile Include="gtk-gui\Imendio.Blam.AddChannelDialog.cs" />
-    <Compile Include="src\AddChannelDialog.cs" />
     <Compile Include="src\Blam.cs" />
     <Compile Include="src\BuilderExtensions.cs" />
     <Compile Include="src\GLibSynchronizationContext.cs" />
@@ -149,9 +128,6 @@
     <EmbeddedResource Include="icons\blam-edit-news.png">
       <LogicalName>blam-edit-news.png</LogicalName>
     </EmbeddedResource>
-    <EmbeddedResource Include="gtk-gui\gui.stetic">
-      <LogicalName>gui.stetic</LogicalName>
-    </EmbeddedResource>
     <EmbeddedResource Include="src\blam.ui">
       <LogicalName>blam.ui</LogicalName>
     </EmbeddedResource>
diff --git a/src/Application.cs b/src/Application.cs
index d51e1db..5e4abe7 100644
--- a/src/Application.cs
+++ b/src/Application.cs
@@ -6,6 +6,7 @@
 // (C) 2008 Nuanti Ltd.
 //
 
+#if false
 using GConf;
 using Glade;
 using Gdk;
@@ -856,3 +857,4 @@ namespace Imendio.Blam {
         }
     }
 }
+#endif
\ No newline at end of file
diff --git a/src/Channel.cs b/src/Channel.cs
index 7cf93f2..f363df2 100644
--- a/src/Channel.cs
+++ b/src/Channel.cs
@@ -259,7 +259,8 @@ namespace Imendio.Blam {
 
                bool ValidateCertificate(object sender, X509Certificate certificate, X509Chain chain, 
SslPolicyErrors sslPolicyErrors)
                {
-                       return Conf.Get(Preference.IGNORE_SSL_ERR, false);
+                       //return Conf.Get(Preference.IGNORE_SSL_ERR, false);
+                       return false;
                }
 
                SyndicationFeed LoadFeed(string url)
diff --git a/src/ChannelDialog.cs b/src/ChannelDialog.cs
index 55d513b..308287c 100644
--- a/src/ChannelDialog.cs
+++ b/src/ChannelDialog.cs
@@ -7,7 +7,6 @@
 
 using Gtk;
 using Gdk;
-using Glade;
 using System;
 using System.Text;
 
diff --git a/src/ChannelList.cs b/src/ChannelList.cs
index b4c11aa..a2dc22f 100644
--- a/src/ChannelList.cs
+++ b/src/ChannelList.cs
@@ -7,7 +7,6 @@
 
 using Gdk;
 using Gtk;
-using GtkSharp;
 using System;
 using System.Linq;
 using System.Collections;
@@ -66,7 +65,7 @@ namespace Blam
                {
                        TreeIter  iter, parent;
                        bool hasParent;
-                       TreeModel model;
+                       ITreeModel model;
 
                        if (!this.Selection.GetSelected(out model, out iter)) {
                                return;
@@ -173,7 +172,7 @@ namespace Blam
                        Popup.RemoveSelected += removeCurrent;
                }
 
-               void NamesCellDataFunc(TreeViewColumn col, CellRenderer _cell, TreeModel model, TreeIter iter)
+               void NamesCellDataFunc(TreeViewColumn col, CellRenderer _cell, ITreeModel model, TreeIter 
iter)
                {
                        IChannel channel = model.GetValue(iter, 0) as IChannel;
                        var cell = _cell as CellRendererText;
@@ -184,7 +183,7 @@ namespace Blam
                        cell.Weight = (int)weight;
                }
 
-               private void ItemsCellDataFunc(TreeViewColumn col, CellRenderer  _cell, TreeModel model, 
TreeIter iter)
+               private void ItemsCellDataFunc(TreeViewColumn col, CellRenderer  _cell, ITreeModel model, 
TreeIter iter)
                {
                        IChannel channel = model.GetValue(iter, 0) as IChannel;
                        var cell = _cell as CellRendererText;
@@ -197,7 +196,7 @@ namespace Blam
 
                public IChannel GetSelected ()
                {
-                       TreeModel model;
+                       ITreeModel model;
                        TreeIter  iter;
 
                        if (!this.Selection.GetSelected(out model, out iter)) {
@@ -254,9 +253,9 @@ namespace Imendio.Blam {
 
         private TreeViewColumn nameColumn;
 
-        public static TargetEntry[] DragEntries = new TargetEntry[] {
-            new TargetEntry("channel", TargetFlags.Widget, (uint)TargetType.Channel)
-       };
+        //public static TargetEntry[] DragEntries = new TargetEntry[] {
+        //    new TargetEntry("channel", TargetFlags.Widget, (uint)TargetType.Channel)
+       //};
 
                ChannelCollection Collection;
 
@@ -307,10 +306,10 @@ namespace Imendio.Blam {
                        this.popupMenu.RemoveSelected     += RemoveChannelCb;
                        this.popupMenu.RefreshSelected    += RefreshChannelCb;
 
-                       EnableModelDragSource(ModifierType.Button1Mask, DragEntries, DragAction.Copy);
-                       DragDataGet += DragDataGetHandler;
-                       EnableModelDragDest(DragEntries, DragAction.Copy);
-                       DragDataReceived += DragDataReceivedHandler;
+                       //EnableModelDragSource(ModifierType.Button1Mask, DragEntries, DragAction.Copy);
+                       //DragDataGet += DragDataGetHandler;
+                       //EnableModelDragDest(DragEntries, DragAction.Copy);
+                       //DragDataReceived += DragDataReceivedHandler;
 
                        // Add the groups and chanels to the view
                        foreach (IChannel channel in channels) {
@@ -326,7 +325,7 @@ namespace Imendio.Blam {
 
                void CollectionPropertyChanged(object sender, PropertyChangedEventArgs args)
                {
-                       Application.Context.Post(state => Application.TheApp.UpdateTotalNumberOfUnread(), 
null);
+                       //Application.Invoke((s, a) => Blam.Application.TheApp.UpdateTotalNumberOfUnread());
                }
 
                void CollectionChanged(object sender, NotifyCollectionChangedEventArgs args)
@@ -469,7 +468,7 @@ namespace Imendio.Blam {
 
         public IChannel GetSelected ()
         {
-            TreeModel model;
+            ITreeModel model;
             TreeIter  iter;
 
             if (!this.Selection.GetSelected(out model, out iter)) {
@@ -486,7 +485,7 @@ namespace Imendio.Blam {
                        TreeIter iter = FindChannel (channel);
 
                        if (!iter.Equals(TreeIter.Zero)) {
-                               Application.Context.Post((state) =>  this.Model.EmitRowChanged 
(this.Model.GetPath(iter), iter), null);
+                               Application.Invoke((s, a) => this.Model.EmitRowChanged 
(this.Model.GetPath(iter), iter));
                        }
 
                        ForceResort();
@@ -516,7 +515,7 @@ namespace Imendio.Blam {
 
         public bool NextUnread ()
         {
-            TreeModel model;
+            ITreeModel model;
             TreeIter  iter;
 
             if (this.Selection.GetSelected(out model, out iter)) {
@@ -581,7 +580,7 @@ namespace Imendio.Blam {
             }
         }
 
-        private int ChannelSort(TreeModel model, TreeIter ia, TreeIter ib)
+        private int ChannelSort(ITreeModel model, TreeIter ia, TreeIter ib)
         {
             IChannel a = Model.GetValue(ia, 0) as IChannel;
             IChannel b = Model.GetValue(ib, 0) as IChannel;
@@ -622,7 +621,7 @@ namespace Imendio.Blam {
         {
             TreeSelection selection = (TreeSelection)obj;
             TreeIter      iter;
-            TreeModel     model;
+            ITreeModel     model;
             IChannel      channel;
 
             if (!selection.GetSelected(out model, out iter)) {
@@ -636,7 +635,7 @@ namespace Imendio.Blam {
             }
         }
 
-        private void NamesCellDataFunc(TreeViewColumn col, CellRenderer cell, TreeModel model, TreeIter iter)
+        private void NamesCellDataFunc(TreeViewColumn col, CellRenderer cell, ITreeModel model, TreeIter 
iter)
         {
             IChannel channel = model.GetValue(iter, 0) as IChannel;
             int weight = (int)Pango.Weight.Normal;
@@ -652,7 +651,7 @@ namespace Imendio.Blam {
 
         private void ItemsCellDataFunc(TreeViewColumn col,
                                        CellRenderer   cell,
-                                       TreeModel      model,
+                                       ITreeModel      model,
                                        TreeIter       iter)
         {
             IChannel channel = model.GetValue(iter, 0) as IChannel;
@@ -684,7 +683,7 @@ namespace Imendio.Blam {
         // Used by ChannelUpdated
         private IChannel findChannel;
         private TreeIter foundIter;
-        private bool ForeachFindChannel(TreeModel model, 
+        private bool ForeachFindChannel(ITreeModel model, 
                                         TreePath  path,
                                         TreeIter  iter)
         {
diff --git a/src/Conf.cs b/src/Conf.cs
index ef2d6be..cb6f69a 100644
--- a/src/Conf.cs
+++ b/src/Conf.cs
@@ -5,7 +5,7 @@
 // (C) 2004 Imendio HB
 // 
 
-using GConf;
+//using GConf;
 using System;
 
 namespace Blam
@@ -13,11 +13,11 @@ namespace Blam
        public static class Conf
        {
                static string confBase = "/apps/blam";
-               static GConf.Client client;
+               //static GConf.Client client;
 
                static Conf()
                {
-                       client = new GConf.Client();
+                       //client = new GConf.Client();
                }
 
                public static string FullKey(string key)
@@ -31,6 +31,9 @@ namespace Blam
 
                public static T Get<T>(string key, T def)
                {
+                       return def;
+               }
+#if false
                        T res;
                        try {
                                res = (T) client.Get(FullKey(key));
@@ -45,106 +48,6 @@ namespace Blam
                {
                        client.Set(FullKey(key), value);
                }
+               #endif
        }
 }
-
-namespace Imendio.Blam {
-
-    public class Conf {
-       public static string GConfBase = "/apps/blam";
-       public static GConf.Client GConfClient;
-
-       public static int Get (string key, int defaultVal)
-       {
-           try {
-               EnsureClient ();
-               
-               return (int) GConfClient.Get (GetFullKey (key));
-           } catch {}
-           
-           return defaultVal;
-       }
-
-       public static string Get (string key, string defaultVal)
-       {
-           try {
-               EnsureClient ();
-               
-               return (string) GConfClient.Get (GetFullKey (key));
-           } catch {}
-           
-           return defaultVal;
-       }
-       
-       public static bool Get (string key, bool defaultVal)
-       {
-           try {
-               EnsureClient ();
-               
-               return (bool) GConfClient.Get (GetFullKey (key));
-           } catch {}
-           
-           return defaultVal;
-       }
-
-       public static void Set (string key, int value)
-       {
-           Set (key, (object) value);
-       }
-
-       public static void Set (string key, string value)
-       {
-           Set (key, (object) value);
-       }
-
-       public static void Set (string key, bool value)
-       {
-           Set (key, (object) value);
-       }
-
-       private static void Set (string key, object value)
-       {
-           EnsureClient ();
-
-           GConfClient.Set(GetFullKey (key), value);
-       }
-
-       public static void AddNotify (NotifyEventHandler handler)
-       {
-           EnsureClient ();
-
-           GConfClient.AddNotify (GConfBase, handler);
-       }
-
-       public static void AddNotify (string baseDir, NotifyEventHandler handler)
-       {
-           EnsureClient ();
-
-           GConfClient.AddNotify (baseDir, handler);
-       }
-
-       public static void Sync ()
-       {
-           EnsureClient ();
-           
-           GConfClient.SuggestSync ();
-       }
-
-       public static string GetFullKey (string key)
-       {
-           if (key.StartsWith ("/")) {
-               return key;
-           }
-
-           return GConfBase + "/" + key;
-       }
-
-       private static void EnsureClient ()
-       {
-           if (GConfClient == null) {
-               GConfClient = new GConf.Client();
-           }
-       }
-
-    }
-}
diff --git a/src/Dialogs.cs b/src/Dialogs.cs
index a38e52a..b90a402 100644
--- a/src/Dialogs.cs
+++ b/src/Dialogs.cs
@@ -5,7 +5,6 @@
 // (C) 2004 Imendio HB
 //
 
-using Glade;
 using Gtk;
 using Gdk;
 using Mono.Unix;
@@ -291,11 +290,11 @@ namespace Blam
                                markReadDelay.Toggle,
                                markReadDelayTime.Change);
 
-                       var sub = changes.Subscribe(kv => Conf.Set(kv.Key, kv.Value));
+                       //var sub = changes.Subscribe(kv => Conf.Set(kv.Key, kv.Value));
 
                        base.Run();
 
-                       sub.Dispose();
+                       //sub.Dispose();
                }
        }
 
@@ -312,92 +311,3 @@ namespace Blam
                }
        }
 }
-
-namespace Imendio.Blam {
-    class AddGroupDialog
-    {
-        [Widget] Gtk.Dialog addGroupDialog = null;
-        [Widget] Gtk.Entry groupName       = null;
-
-        Application mApp = null;
-
-        public AddGroupDialog(Application app)
-        {
-            mApp = app;
-
-            Glade.XML gladeXML = Glade.XML.FromAssembly("blam.glade",
-                                 "addGroupDialog", null);
-            gladeXML.Autoconnect(this);
-            addGroupDialog.TransientFor = app.Window;
-            addGroupDialog.IconName = "blam";
-        }
-
-        public void Show()
-        {
-            groupName.Text = "";
-            addGroupDialog.ShowAll();
-        }
-
-        public void OkButtonClicked(object obj, EventArgs args)
-        {
-            ChannelGroup group = new ChannelGroup();
-            group.Name = groupName.Text;
-            mApp.CCollection.Groups.Add(group);
-            Gtk.TreeIter iter = (mApp.ChannelList.Model as TreeStore).AppendValues(group);
-            group.Iter = iter;
-
-            addGroupDialog.Hide();
-        }
-
-        public void CancelButtonClicked(object obj, EventArgs args)
-        {
-            addGroupDialog.Hide();
-        }
-    }
-
-    class RemoveChannelDialog {
-       [Widget] Gtk.Dialog removeChannelDialog = null;
-       [Widget] Gtk.Label  dialogTextLabel     = null;
-
-       private ChannelCollection mCollection;
-
-       private static RemoveChannelDialog removeDialog = null;
-       
-       private RemoveChannelDialog(Gtk.Window parent,
-                                   ChannelCollection collection)
-       {
-           mCollection = collection;
-           Glade.XML gladeXML = Glade.XML.FromAssembly("blam.glade",
-                                                       "removeChannelDialog",
-                                                       null);
-           gladeXML.Autoconnect(this);
-           removeChannelDialog.TransientFor = parent;
-           removeChannelDialog.IconName = "blam";
-       }
-
-       public static void Show (Gtk.Window parent, ChannelCollection collection, IChannel channel)
-       {
-           if (removeDialog == null) {
-               removeDialog = new RemoveChannelDialog (parent, collection);
-           }
-
-           string name = "<b>" + channel.Name + "</b>";
-         
-           string str = String.Format (Catalog.GetString ("Do you want to remove the channel or group {0} 
from the channel list?"), name);
-
-           removeDialog.dialogTextLabel.Markup = str;
-           
-           int response = removeDialog.removeChannelDialog.Run ();
-           removeDialog.removeChannelDialog.Hide ();
-           
-           switch (response) {
-           case (int) ResponseType.Cancel:
-               return;
-           case (int) ResponseType.Ok:
-               removeDialog.mCollection.Remove (channel);
-               return;
-           }
-       }
-    }
-}
-
diff --git a/src/HigUtils.cs b/src/HigUtils.cs
index 73d08c1..16fcd14 100644
--- a/src/HigUtils.cs
+++ b/src/HigUtils.cs
@@ -5,7 +5,6 @@
 // (C) 2004 Imendio HB
 //
 
-using Glade;
 using Gtk;
 using System;
 using System.Runtime.InteropServices;
diff --git a/src/ItemList.cs b/src/ItemList.cs
index d622ee7..464809e 100644
--- a/src/ItemList.cs
+++ b/src/ItemList.cs
@@ -5,7 +5,7 @@
 // (C) 2004 Imendio HB
 // 
 
-using GConf;
+//using GConf;
 using Gdk;
 using Gtk;
 using GLib;
@@ -76,7 +76,7 @@ namespace Blam
                        this.HeadersVisible = false;
                }
 
-               void CellDataFunc (TreeViewColumn col, CellRenderer _cell, TreeModel model, TreeIter iter)
+               void CellDataFunc (TreeViewColumn col, CellRenderer _cell, ITreeModel model, TreeIter iter)
                {
                        Item item = model.GetValue(iter, 0) as Item;
 
@@ -182,13 +182,13 @@ namespace Imendio.Blam {
            this.HeadersVisible = false;
 
         (Model as ListStore).DefaultSortFunc = CompareFunc;
-        SetSortOrder(Conf.Get(Preference.REVERSE_ENTRIES, false));
+        //SetSortOrder(Conf.Get(Preference.REVERSE_ENTRIES, false));
 
-           Conf.AddNotify (Conf.GetFullKey(Preference.REVERSE_ENTRIES), new NotifyEventHandler 
(ConfNotifyHandler));
+           //Conf.AddNotify (Conf.GetFullKey(Preference.REVERSE_ENTRIES), new NotifyEventHandler 
(ConfNotifyHandler));
 
        }
 
-               bool Selected(out TreeModel model, out TreeIter iter)
+               bool Selected(out ITreeModel model, out TreeIter iter)
                {
                        return Selection.GetSelected(out model, out iter);
                }
@@ -200,7 +200,7 @@ namespace Imendio.Blam {
                        SetCursor(this.Model.GetPath(iter), titleColumn, false);
                }
 
-               bool LoopItems(TreeModel model, ref TreeIter iter, Func<Item, bool> fn)
+               bool LoopItems(ITreeModel model, ref TreeIter iter, Func<Item, bool> fn)
                {
                        var start = iter;
                        do {
@@ -217,7 +217,7 @@ namespace Imendio.Blam {
 
                public bool Next(bool unread = true)
                {
-                       TreeModel model;
+                       ITreeModel model;
                        TreeIter  iter;
 
                        // If there's something selected (and it's not the last one),
@@ -267,7 +267,7 @@ namespace Imendio.Blam {
                public Item GetSelected()
                {
                        TreeIter iter;
-                       TreeModel model;
+                       ITreeModel model;
 
                        if (Selected(out model, out iter))
                                return (Item)model.GetValue(iter, 0);
@@ -278,7 +278,7 @@ namespace Imendio.Blam {
                public void EmitSelectedRowChanged()
                {
                        TreeIter iter;
-                       TreeModel model;
+                       ITreeModel model;
 
                        if (!Selected(out model, out iter))
                                return;
@@ -300,7 +300,8 @@ namespace Imendio.Blam {
 
                        Current = item;
 
-                       bool useTimeout = (bool) Conf.Get(Preference.MARK_ITEMS_READ, false);
+                       bool useTimeout = false;
+                       //bool useTimeout = (bool) Conf.Get(Preference.MARK_ITEMS_READ, false);
 
                        if (!useTimeout) {
                                item.Unread = false;
@@ -309,7 +310,8 @@ namespace Imendio.Blam {
                        }
 
                        MarkReadCancel = new CancellationTokenSource();
-                       var readTimeout = (uint) Conf.Get(Preference.MARK_ITEMS_READ_TIMEOUT, 3000);
+                       var readTimeout = 3000;
+                       //var readTimeout = (uint) Conf.Get(Preference.MARK_ITEMS_READ_TIMEOUT, 3000);
 
                        try {
                                await Task.Delay(TimeSpan.FromMilliseconds(readTimeout), 
MarkReadCancel.Token);
@@ -322,7 +324,7 @@ namespace Imendio.Blam {
                        selection.EmitRowChanged();
                }
 
-               private int CompareFunc(TreeModel model, TreeIter a, TreeIter b)
+               private int CompareFunc(ITreeModel model, TreeIter a, TreeIter b)
                {
                        Item ia = Model.GetValue(a, 0) as Item;
                        Item ib = Model.GetValue(b, 0) as Item;
@@ -349,7 +351,7 @@ namespace Imendio.Blam {
 
        private void NameCellDataFunc (TreeViewColumn col,
                                       CellRenderer   cell,
-                                      TreeModel      model,
+                                      ITreeModel      model,
                                       TreeIter       iter)
        {
            Imendio.Blam.Item item = (Imendio.Blam.Item)model.GetValue(iter, 0);
@@ -368,7 +370,7 @@ namespace Imendio.Blam {
 
     private void IconCellDataFunc(TreeViewColumn col,
                        CellRenderer   cell,
-                                      TreeModel      model,
+                                      ITreeModel      model,
                                       TreeIter       iter)
     {
         Item item = model.GetValue(iter, 0) as Imendio.Blam.Item;
@@ -400,18 +402,19 @@ namespace Imendio.Blam {
            ((ListStore)this.Model).SetSortColumnId (-1, sortType);
        }
 
+#if false
        private void ConfNotifyHandler (object sender, NotifyEventArgs args)
        {
            if (args.Key == Conf.GetFullKey (Preference.REVERSE_ENTRIES)) {
                SetSortOrder ((bool) args.Value);
            }
        }
-
+#endif
        // Used by Updated
        private Item     findItem;
        private TreeIter foundIter;
 
-       private bool ForeachFindItem (TreeModel model, 
+       private bool ForeachFindItem (ITreeModel model, 
                                      TreePath  path,
                                      TreeIter  iter)
        {
diff --git a/src/ItemView.cs b/src/ItemView.cs
index 6c8de38..bf7d120 100644
--- a/src/ItemView.cs
+++ b/src/ItemView.cs
@@ -6,7 +6,7 @@
 // (C) 2008 Nuanti Ltd.
 //
 
-using GConf;
+//using GConf;
 using Gtk;
 using System;
 using GtkSharp;
@@ -78,7 +78,7 @@ namespace Blam
 
                        var title   = current.Title.Text;
                        var theme   = ThemeManager.Current;
-                       var baseDir = theme.Path;
+                       var baseDir = "file://" + theme.Path;
                        var link    = Catalog.GetString("Show in browser");
                        var url     = current.Links.Count == 0 ? current.Id : current.Links[0].Uri.ToString();
 
@@ -92,7 +92,8 @@ namespace Blam
                                {"localbase", baseDir},
                        };
 
-                       LoadString(theme.Render(replaces), null, null, url);
+                       Console.WriteLine(theme.Render(replaces));
+                       LoadString(theme.Render(replaces), null, null, baseDir);
                }
        }
 }
@@ -143,8 +144,8 @@ namespace Imendio.Blam {
                                                sw.Add(webView);
             Add(sw);
           
-            Conf.AddNotify (Preference.FONT_PATH,
-                                        new NotifyEventHandler (FontNotifyHandler));
+            //Conf.AddNotify (Preference.FONT_PATH,
+            //                            new NotifyEventHandler (FontNotifyHandler));
             SetFonts ();
 
             ProxyUpdatedCb ();
@@ -170,9 +171,9 @@ namespace Imendio.Blam {
                };
 
             webView.HoveringOverLink += delegate (object sender, HoveringOverLinkArgs args) {
-                if (OnUrl != null)
-                  OnUrl (args.Link);
-                                 last_link = args.Link;
+                //if (OnUrl != null)
+                //  OnUrl (args.Link);
+                               //  last_link = args.Link;
             };
 
             webView.Show ();
@@ -187,7 +188,8 @@ namespace Imendio.Blam {
 
         private void Load()
         {
-                       Theme theme = Application.TheApp.ThemeManager.CurrentTheme;
+                       var theme = new global::Blam.EmptyTheme();
+                       //Theme theme = Application.TheApp.ThemeManager.CurrentTheme;
             string author;
             if(Current.Authors.Count == 0){
                 author = string.Empty;
@@ -225,8 +227,8 @@ namespace Imendio.Blam {
 
         private void SetFonts ()
         {
-            string varFont = Conf.Get (Preference.VARIABLE_FONT, "Sans 12");
-            string fixedFont = Conf.Get (Preference.FIXED_FONT, "Mono 12");
+            //string varFont = Conf.Get (Preference.VARIABLE_FONT, "Sans 12");
+            //string fixedFont = Conf.Get (Preference.FIXED_FONT, "Mono 12");
 
             // Disabled for now since it's not clear that overriding the
             // default font settings makes sense.
@@ -241,6 +243,7 @@ namespace Imendio.Blam {
 #endif
         }
 
+#if false
         private void FontNotifyHandler (object sender, NotifyEventArgs args)
         {
             if (args.Key == Conf.GetFullKey (Preference.VARIABLE_FONT) ||
@@ -248,7 +251,7 @@ namespace Imendio.Blam {
                 SetFonts ();
             }
         }
-
+#endif
         private void ProxyUpdatedCb ()
         {
             //Utils.GeckoSetProxy (Proxy.UseProxy, Proxy.ProxyHost,
diff --git a/src/Opml.cs b/src/Opml.cs
index b4a0080..a326f38 100644
--- a/src/Opml.cs
+++ b/src/Opml.cs
@@ -6,7 +6,6 @@
 //
 
 using Gdk;
-using Glade;
 using Gtk;
 using Mono.Unix;
 using System;
@@ -17,6 +16,7 @@ using System.Text;
 using System.Threading;
 using System.Xml;
 
+#if false
 namespace Imendio.Blam {
 
     public class OpmlDialog {
@@ -440,3 +440,4 @@ namespace Imendio.Blam {
        }
     }
 }
+#endif
diff --git a/src/PreferencesDialog.cs b/src/PreferencesDialog.cs
index d3e6311..3cfb9c9 100644
--- a/src/PreferencesDialog.cs
+++ b/src/PreferencesDialog.cs
@@ -5,148 +5,12 @@
 // (C) 2004 Imendio HB
 //
 
-using GConf;
-using Glade;
+//using GConf;
 using Gtk;
 using System;
 using System.Collections;
-
+#if false
 namespace Imendio.Blam {
-    public class Preference {
-        public static string REVERSE_ENTRIES   = "behaviour/reverse_entries";
-        public static string REFRESH_AT_START  = "behaviour/refresh_at_start";
-        public static string AUTO_REFRESH      = "behaviour/auto_refresh";
-        public static string AUTO_REFRESH_RATE = "behaviour/auto_refresh_rate";
-        public static string IGNORE_SSL_ERR    = "behaviour/ignore_ssl_err";
-        public static string BEHAVIOUR_PATH    = Conf.GetFullKey("behaviour");
-        public static string FONT_PATH         = "/desktop/gnome/interface";
-        public static string VARIABLE_FONT     = "/desktop/gnome/interface/font_name";
-        public static string FIXED_FONT        = "/desktop/gnome/interface/monospace_font_name";
-        public static string THEME             = "ui/theme";
-        public static string SHOW_ITEM_LIST    = "ui/show_item_list";
-        public static string MARK_ITEMS_READ_TIMEOUT = "behaviour/set_item_read_timeout";
-        public static string MARK_ITEMS_READ    = "behaviour/set_item_read";
-    }
-
-    public class PreferencesDialog {
-        [Widget] Gtk.Dialog      preferencesDialog         = null;
-        [Widget] Gtk.Label       boldBehaviourLabel        = null;
-        [Widget] Gtk.CheckButton reverseEntriesCheckButton = null;
-        [Widget] Gtk.CheckButton autoRefreshCheckButton    = null;
-        [Widget] Gtk.CheckButton ignoreSSLErr              = null;
-        [Widget] Gtk.CheckButton RefreshOnStartup          = null;
-        [Widget] Gtk.SpinButton  refreshRateSpinButton     = null;
-        [Widget] Gtk.Label       boldThemeLabel            = null;
-        [Widget] Gtk.ComboBox    themeComboBox             = null;
-        [Widget] Gtk.CheckButton markItemsReadCheckButton  = null;
-        [Widget] Gtk.SpinButton  markItemsReadSpinButton   = null;
-
-               public PreferencesDialog (Gtk.Window parentWindow)
-               {
-                       Glade.XML gladeXML = Glade.XML.FromAssembly ("blam.glade",
-                                                               "preferencesDialog",
-                                                               null);
-                       gladeXML.Autoconnect (this);
-                       preferencesDialog.TransientFor = parentWindow;
-                       preferencesDialog.IconName = "blam";
-
-                       boldBehaviourLabel.Markup = "<b>" + boldBehaviourLabel.Text + "</b>";
-                       bool reverseEntries = Conf.Get (Preference.REVERSE_ENTRIES, false);
-                       reverseEntriesCheckButton.Active = reverseEntries;
-
-                       bool autoRefresh = Conf.Get (Preference.AUTO_REFRESH, false);
-                       autoRefreshCheckButton.Active = autoRefresh;
-
-                       int refreshRate = Conf.Get (Preference.AUTO_REFRESH_RATE, 15);
-                       refreshRateSpinButton.Value = refreshRate;
-
-            ignoreSSLErr.Active = Conf.Get(Preference.IGNORE_SSL_ERR, false);
-
-            RefreshOnStartup.Active = Conf.Get(Preference.REFRESH_AT_START, false);
-
-                       boldThemeLabel.Markup = "<b>" + boldThemeLabel.Text + "</b>";
-
-                       themeComboBox.Changed += new EventHandler(ThemeSelectionChanged);
-
-            bool markItemsRead = Conf.Get(Preference.MARK_ITEMS_READ, false);
-            markItemsReadCheckButton.Active = markItemsRead;
-
-            int markItemsReadTimeout = Conf.Get(Preference.MARK_ITEMS_READ_TIMEOUT, 3000) / 1000;
-            markItemsReadSpinButton.Value = markItemsReadTimeout;
-
-                       Conf.AddNotify (Preference.BEHAVIOUR_PATH, new NotifyEventHandler 
(ConfNotifyHandler));
-               }
-
-               public void Show ()
-               {
-                       /* This needs to be this late, otherwise mono will die. */
-                       fill_themes_combo(themeComboBox);
-                       preferencesDialog.ShowAll ();
-               }
-
-               public void CloseButtonClicked (object obj, EventArgs args)
-               {
-                       preferencesDialog.Hide();
-               }
-
-               public void ReverseItemsCheckButtonToggled (object obj, EventArgs args)
-               {
-                       Conf.Set (Preference.REVERSE_ENTRIES,
-                                         reverseEntriesCheckButton.Active);
-               }
-
-               public void AutoRefreshCheckButtonToggled (object obj, EventArgs args)
-               {
-                       Conf.Set (Preference.AUTO_REFRESH, autoRefreshCheckButton.Active);
-               }
-
-               public void RefreshRateSpinButtonChanged (object obj, EventArgs args)
-               {
-                       Conf.Set (Preference.AUTO_REFRESH_RATE,
-                                         (int) refreshRateSpinButton.Value);
-               }
-
-        public void MarkItemsReadCheckButtonToggled(object obj, EventArgs args)
-        {
-            Conf.Set(Preference.MARK_ITEMS_READ, markItemsReadCheckButton.Active);
-        }
-
-        public void MarkItemsReadSpinButtonChanged(object obj, EventArgs args)
-        {
-            int timeoutms = (int) markItemsReadSpinButton.Value * 1000;
-            Conf.Set(Preference.MARK_ITEMS_READ_TIMEOUT, timeoutms);
-        }
-
-               public void IgnoreSSLErrToggled (object obj, EventArgs args)
-               {
-                   Conf.Set (Preference.IGNORE_SSL_ERR,
-                              (bool) ignoreSSLErr.Active);
-               }
-
-        public void RefreshOnStartupToggled(object o, EventArgs args)
-        {
-            Conf.Set(Preference.REFRESH_AT_START, (bool)RefreshOnStartup.Active);
-        }
-
-               public void ThemeSelectionChanged (object obj, EventArgs args)
-               {
-                       Gtk.ComboBox box = obj as Gtk.ComboBox;
-                       Conf.Set(Preference.THEME, 
Application.TheApp.ThemeManager.PathByName(box.ActiveText));
-               }
-
-               private void ConfNotifyHandler (object sender, NotifyEventArgs args)
-               {
-                       if (args.Key == Conf.GetFullKey (Preference.REVERSE_ENTRIES)) {
-                               reverseEntriesCheckButton.Active = (bool) args.Value;
-                       } else if (args.Key == Conf.GetFullKey (Preference.AUTO_REFRESH)) {
-                               autoRefreshCheckButton.Active = (bool) args.Value;
-                       } else if (args.Key == Conf.GetFullKey (Preference.AUTO_REFRESH_RATE)) {
-                               refreshRateSpinButton.Value = (int) args.Value;
-                       } else if (args.Key == Conf.GetFullKey (Preference.IGNORE_SSL_ERR)) {
-                           ignoreSSLErr.Active = (bool) args.Value;
-                       }
-               }
-               
                private void fill_themes_combo(Gtk.ComboBox box)
                {
                        box.Clear();
@@ -172,4 +36,4 @@ namespace Imendio.Blam {
                
        }
 }
-
+#endif
diff --git a/src/Proxy.cs b/src/Proxy.cs
index 702bad0..e631976 100644
--- a/src/Proxy.cs
+++ b/src/Proxy.cs
@@ -5,7 +5,7 @@
 // (C) 2004 Mario Chavez
 //
 
-using GConf;
+//using GConf;
 using System;
 using System.Net;
 
@@ -37,8 +37,8 @@ namespace Imendio.Blam {
        {
            RereadProxySettings ();
            
-           Conf.AddNotify (PROXY_BASE,
-                           new NotifyEventHandler (ConfNotifyHandler));
+           //Conf.AddNotify (PROXY_BASE,
+               //          new NotifyEventHandler (ConfNotifyHandler));
        }
 
        private static void RereadProxySettings () 
@@ -46,9 +46,9 @@ namespace Imendio.Blam {
             bool updated = false;
 
             try {
-                bool use_proxy;
+                bool use_proxy = false;
 
-                use_proxy = Conf.Get (USE_PROXY, false);
+        //        use_proxy = Conf.Get (USE_PROXY, false);
                if (use_proxy) {
                     if (UseProxy == false) {
                         updated = true;
@@ -56,12 +56,12 @@ namespace Imendio.Blam {
 
                     UseProxy = true;
 
-                    string host;
-                   int    port;
+                    string host = "";
+                   int    port = 80;
                    string proxyUrlString;
 
-                   host = Conf.Get (HOST, "");
-                    port = Conf.Get (PORT, 0);
+                   //host = Conf.Get (HOST, "");
+             //       port = Conf.Get (PORT, 0);
 
                     if (host != ProxyHost || port != ProxyPort) {
                         updated = true;
@@ -77,8 +77,10 @@ namespace Imendio.Blam {
                     Uri proxyUrl = new Uri (proxyUrlString);
                     proxy.Address = proxyUrl;
 
-                    string username = Conf.Get (USER, "");
-                   string password = Conf.Get (PASSWORD, "");
+                    //string username = Conf.Get (USER, "");
+                   //string password = Conf.Get (PASSWORD, "");
+                                       string username = null;
+                                       string password = null;
                     if (username != null) {
                        proxy.Credentials = new NetworkCredential (username, password);
                    }
@@ -97,12 +99,13 @@ namespace Imendio.Blam {
                 Updated ();
             }
        }
-
+#if false
        private static void ConfNotifyHandler (object sender,
                                               NotifyEventArgs args)
        {
            Console.Error.WriteLine ("Rereading the proxy settings\n");
            RereadProxySettings ();
        }
+#endif
     }
 }
diff --git a/src/ThemeManager.cs b/src/ThemeManager.cs
index 4778cc5..bf61dc3 100644
--- a/src/ThemeManager.cs
+++ b/src/ThemeManager.cs
@@ -5,7 +5,7 @@
 // (C) 2005 Imendio AB
 //
 
-using GConf;
+//using GConf;
 using System;
 using System.Linq;
 using System.Collections;
@@ -114,10 +114,11 @@ namespace Imendio.Blam {
                                /* Do nothing */
                        }
                
-                       themePath = Conf.Get (Preference.THEME, Defines.DEFAULT_THEME);
+                       themePath = "/";
+                       //themePath = Conf.Get (Preference.THEME, Defines.DEFAULT_THEME);
                        SetTheme (themePath);
 
-                       Conf.AddNotify (Conf.GetFullKey(Preference.THEME), ConfNotifyHandler);
+                       //Conf.AddNotify (Conf.GetFullKey(Preference.THEME), ConfNotifyHandler);
                }
 
         // Returns a list of Themes
@@ -188,9 +189,9 @@ namespace Imendio.Blam {
 
                private void SetTheme (Theme theme)
                {
-                       if(Conf.Get(Preference.THEME, "") != theme.Path){
-                               Conf.Set (Preference.THEME, theme.Path);
-                       }
+                       //if(Conf.Get(Preference.THEME, "") != theme.Path){
+                       //      Conf.Set (Preference.THEME, theme.Path);
+                       //}
                        if (theme == mCurrentTheme) {
                                return;
                        }
@@ -206,12 +207,14 @@ namespace Imendio.Blam {
                        }
                }
 
+#if false
                private void ConfNotifyHandler (object sender, NotifyEventArgs args)
                {
                        if (args.Key == Conf.GetFullKey (Preference.THEME)) {
                                SetTheme ((string) args.Value);
                        }
                }
+#endif
        }
 }
 
diff --git a/src/TrayIcon.cs b/src/TrayIcon.cs
index 7d96c2c..ab374cd 100644
--- a/src/TrayIcon.cs
+++ b/src/TrayIcon.cs
@@ -61,7 +61,7 @@ namespace Blam
                        changes.Subscribe(_ => {
                                var unread = channels.Select(c => c.NrOfUnreadItems).Sum() + groups.Select(g 
=> g.NrOfUnreadItems).Sum();
                                var str = String.Format(Catalog.GetPluralString("{0} unread item", "{0} 
unread items", unread), unread);
-                               Tooltip = str;
+                               TooltipText = str;
                        });
                }
 
@@ -117,7 +117,7 @@ namespace Imendio.Blam {
 
        public string Tooltip {
            set {
-                   mIcon.Tooltip = value;
+                   mIcon.TooltipText = value;
            }
        }
 
@@ -125,7 +125,7 @@ namespace Imendio.Blam {
        {
         mIcon = new Gtk.StatusIcon();
         mIcon.IconName = "blam";
-        mIcon.Tooltip = name;
+        mIcon.TooltipText = name;
         mIcon.Activate += ButtonPressedCb;
         mIcon.PopupMenu += PopupCb;
                        Collection = collection;
diff --git a/src/TreeSelectionExtensions.cs b/src/TreeSelectionExtensions.cs
index 8339430..09e0add 100644
--- a/src/TreeSelectionExtensions.cs
+++ b/src/TreeSelectionExtensions.cs
@@ -8,7 +8,7 @@ namespace Imendio.Blam.TreeSelectionExtensions
                public static void EmitRowChanged(this TreeSelection selection)
                {
                        TreeIter iter;
-                       TreeModel model;
+                       ITreeModel model;
 
                        if (!selection.GetSelected (out model, out iter)) {
                                return;
@@ -20,7 +20,7 @@ namespace Imendio.Blam.TreeSelectionExtensions
                public static T Get<T>(this TreeSelection selection)
                {
                        TreeIter iter;
-                       TreeModel model;
+                       ITreeModel model;
 
                        if (!selection.GetSelected (out model, out iter)) {
                                return default(T);
diff --git a/src/UnreadNotification.cs b/src/UnreadNotification.cs
index 35bbdf0..7bc43a3 100644
--- a/src/UnreadNotification.cs
+++ b/src/UnreadNotification.cs
@@ -1,16 +1,17 @@
 using Mono.Unix;
 using System;
-using Notifications;
+//using Notifications;
 
 namespace Imendio.Blam
 {
     public class UnreadNotification
     {
 
-        static Notification note = new Notification();
+        //static Notification note = new Notification();
 
         public static void NotifyUnreadPosts(int unread, int new_items)
         {
+#if false
             if(note == null){
                 try {
                     note = new Notification();
@@ -29,8 +30,9 @@ namespace Imendio.Blam
             /* Number of new (not-skipped-over) entries. Gets appended to previous string */
             str += string.Format(Catalog.GetPluralString("({0} new)", "({0} new)", new_items), new_items);
 
-            note.Body = str;
-            note.Show();
+            //note.Body = str;
+            //note.Show();
+#endif
         }
     }
 }
diff --git a/src/blam.ui b/src/blam.ui
index 38f2881..a74580c 100644
--- a/src/blam.ui
+++ b/src/blam.ui
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
-  <requires lib="gtk+" version="2.24"/>
-  <!-- interface-naming-policy project-wide -->
+  <!-- interface-requires gtk+ 3.0 -->
   <object class="GtkImage" id="image1">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
@@ -21,7 +20,6 @@
               <object class="GtkMenuItem" id="menuitem1">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="use_action_appearance">False</property>
                 <property name="label" translatable="yes">_File</property>
                 <property name="use_underline">True</property>
                 <child type="submenu">
@@ -33,7 +31,6 @@
                         <property name="label">gtk-preferences</property>
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="use_action_appearance">False</property>
                         <property name="use_underline">True</property>
                         <property name="use_stock">True</property>
                       </object>
@@ -42,7 +39,6 @@
                       <object class="GtkSeparatorMenuItem" id="separatormenuitem1">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="use_action_appearance">False</property>
                       </object>
                     </child>
                     <child>
@@ -50,7 +46,6 @@
                         <property name="label">gtk-quit</property>
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="use_action_appearance">False</property>
                         <property name="use_underline">True</property>
                         <property name="use_stock">True</property>
                         <accelerator key="q" signal="activate" modifiers="GDK_CONTROL_MASK"/>
@@ -64,7 +59,6 @@
               <object class="GtkMenuItem" id="menuitem2">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="use_action_appearance">False</property>
                 <property name="label" translatable="yes">View</property>
                 <child type="submenu">
                   <object class="GtkMenu" id="menu2">
@@ -75,7 +69,6 @@
                         <property name="label" translatable="yes">Show/Hide Item List</property>
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="use_action_appearance">False</property>
                         <property name="image">image1</property>
                         <property name="use_stock">False</property>
                         <accelerator key="i" signal="activate"/>
@@ -89,7 +82,6 @@
               <object class="GtkMenuItem" id="item2">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="use_action_appearance">False</property>
                 <property name="label" translatable="yes">Channel</property>
                 <child type="submenu">
                   <object class="GtkMenu" id="item2_menu">
@@ -99,7 +91,6 @@
                         <property name="label">gtk-add</property>
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="use_action_appearance">False</property>
                         <property name="use_underline">True</property>
                         <property name="use_stock">True</property>
                         <accelerator key="N" signal="activate" modifiers="GDK_CONTROL_MASK"/>
@@ -113,7 +104,6 @@
                         <property name="has_tooltip">True</property>
                         <property name="tooltip_markup">Create a new group</property>
                         <property name="tooltip_text" translatable="yes">Create a new group</property>
-                        <property name="use_action_appearance">False</property>
                         <property name="use_stock">False</property>
                       </object>
                     </child>
@@ -128,7 +118,6 @@
                         <property name="label">gtk-refresh</property>
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="use_action_appearance">False</property>
                         <property name="use_underline">True</property>
                         <property name="use_stock">True</property>
                         <accelerator key="R" signal="activate" modifiers="GDK_SHIFT_MASK | 
GDK_CONTROL_MASK"/>
@@ -138,7 +127,6 @@
                       <object class="GtkMenuItem" id="menu-channel-mark-read">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="use_action_appearance">False</property>
                         <property name="label" translatable="yes">Mark as Read</property>
                         <accelerator key="K" signal="activate" modifiers="GDK_CONTROL_MASK"/>
                       </object>
@@ -148,7 +136,6 @@
                         <property name="label">gtk-edit</property>
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="use_action_appearance">False</property>
                         <property name="use_underline">True</property>
                         <property name="use_stock">True</property>
                       </object>
@@ -158,7 +145,6 @@
                         <property name="label">gtk-remove</property>
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="use_action_appearance">False</property>
                         <property name="use_underline">True</property>
                         <property name="use_stock">True</property>
                       </object>
@@ -173,7 +159,6 @@
                       <object class="GtkImageMenuItem" id="update_channels1">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="use_action_appearance">False</property>
                         <property name="use_stock">False</property>
                         <accelerator key="R" signal="activate" modifiers="GDK_CONTROL_MASK"/>
                       </object>
@@ -182,7 +167,6 @@
                       <object class="GtkMenuItem" id="markAllAsRead">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="use_action_appearance">False</property>
                       </object>
                     </child>
                   </object>
@@ -193,7 +177,6 @@
               <object class="GtkMenuItem" id="menuitem4">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="use_action_appearance">False</property>
                 <property name="label" translatable="yes">_Help</property>
                 <property name="use_underline">True</property>
                 <child type="submenu">
@@ -205,7 +188,6 @@
                         <property name="label">gtk-about</property>
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="use_action_appearance">False</property>
                         <property name="use_underline">True</property>
                         <property name="use_stock">True</property>
                       </object>
@@ -233,8 +215,6 @@
                   <object class="GtkScrolledWindow" id="feed-list-scroll">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="hscrollbar_policy">automatic</property>
-                    <property name="vscrollbar_policy">automatic</property>
                     <child>
                       <placeholder/>
                     </child>
@@ -251,7 +231,6 @@
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">True</property>
-                    <property name="use_action_appearance">False</property>
                     <property name="use_stock">True</property>
                   </object>
                   <packing>
@@ -274,8 +253,6 @@
                   <object class="GtkScrolledWindow" id="item-list-scroll">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="hscrollbar_policy">automatic</property>
-                    <property name="vscrollbar_policy">automatic</property>
                     <child>
                       <placeholder/>
                     </child>
@@ -289,8 +266,6 @@
                   <object class="GtkScrolledWindow" id="item-view-scroll">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="hscrollbar_policy">automatic</property>
-                    <property name="vscrollbar_policy">automatic</property>
                     <child>
                       <placeholder/>
                     </child>
diff --git a/src/dialogs.ui b/src/dialogs.ui
index 7c1ffa5..dbd1059 100644
--- a/src/dialogs.ui
+++ b/src/dialogs.ui
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
-  <requires lib="gtk+" version="2.24"/>
-  <!-- interface-naming-policy project-wide -->
+  <!-- interface-requires gtk+ 3.0 -->
   <object class="GtkDialog" id="add-channel">
     <property name="can_focus">False</property>
     <property name="border_width">6</property>
@@ -9,12 +8,12 @@
     <property name="resizable">False</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox13">
+      <object class="GtkBox" id="dialog-vbox13">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="spacing">6</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area13">
+          <object class="GtkButtonBox" id="dialog-action_area13">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
@@ -25,7 +24,6 @@
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_stock">True</property>
               </object>
               <packing>
@@ -41,7 +39,6 @@
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_stock">True</property>
               </object>
               <packing>
@@ -126,8 +123,6 @@
                     <property name="invisible_char_set">True</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
@@ -171,8 +166,6 @@
                     <property name="invisible_char_set">True</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
@@ -190,8 +183,6 @@
                     <property name="invisible_char_set">True</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
@@ -228,12 +219,12 @@
     <property name="window_position">center-on-parent</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox2">
+      <object class="GtkBox" id="dialog-vbox2">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="spacing">2</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area2">
+          <object class="GtkButtonBox" id="dialog-action_area2">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
@@ -243,7 +234,6 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_stock">True</property>
               </object>
               <packing>
@@ -258,7 +248,6 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_stock">True</property>
               </object>
               <packing>
@@ -315,8 +304,6 @@
                     <property name="invisible_char_set">True</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="primary_icon_sensitive">True</property>
-                    <property name="secondary_icon_sensitive">True</property>
                   </object>
                   <packing>
                     <property name="expand">True</property>
@@ -350,12 +337,12 @@
     <property name="border_width">5</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox3">
+      <object class="GtkBox" id="dialog-vbox3">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="spacing">2</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area3">
+          <object class="GtkButtonBox" id="dialog-action_area3">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
@@ -365,7 +352,6 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_stock">True</property>
               </object>
               <packing>
@@ -380,7 +366,6 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_stock">True</property>
               </object>
               <packing>
@@ -486,8 +471,6 @@
                 <property name="invisible_char_set">True</property>
                 <property name="primary_icon_activatable">False</property>
                 <property name="secondary_icon_activatable">False</property>
-                <property name="primary_icon_sensitive">True</property>
-                <property name="secondary_icon_sensitive">True</property>
               </object>
               <packing>
                 <property name="left_attach">1</property>
@@ -502,8 +485,6 @@
                 <property name="invisible_char_set">True</property>
                 <property name="primary_icon_activatable">False</property>
                 <property name="secondary_icon_activatable">False</property>
-                <property name="primary_icon_sensitive">True</property>
-                <property name="secondary_icon_sensitive">True</property>
               </object>
               <packing>
                 <property name="left_attach">1</property>
@@ -520,8 +501,6 @@
                 <property name="invisible_char_set">True</property>
                 <property name="primary_icon_activatable">False</property>
                 <property name="secondary_icon_activatable">False</property>
-                <property name="primary_icon_sensitive">True</property>
-                <property name="secondary_icon_sensitive">True</property>
               </object>
               <packing>
                 <property name="left_attach">1</property>
@@ -538,8 +517,6 @@
                 <property name="invisible_char_set">True</property>
                 <property name="primary_icon_activatable">False</property>
                 <property name="secondary_icon_activatable">False</property>
-                <property name="primary_icon_sensitive">True</property>
-                <property name="secondary_icon_sensitive">True</property>
               </object>
               <packing>
                 <property name="left_attach">1</property>
@@ -567,6 +544,13 @@
     <property name="step_increment">1</property>
     <property name="page_increment">10</property>
   </object>
+  <object class="GtkAdjustment" id="refresh-adjustment">
+    <property name="lower">1</property>
+    <property name="upper">100</property>
+    <property name="value">15</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
   <object class="GtkDialog" id="preferences">
     <property name="can_focus">False</property>
     <property name="border_width">6</property>
@@ -574,12 +558,12 @@
     <property name="resizable">False</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox4">
+      <object class="GtkBox" id="dialog-vbox4">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="spacing">12</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area4">
+          <object class="GtkButtonBox" id="dialog-action_area4">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
@@ -590,7 +574,6 @@
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_stock">True</property>
               </object>
               <packing>
@@ -654,8 +637,8 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
                         <property name="use_underline">True</property>
+                        <property name="xalign">0.5</property>
                         <property name="draw_indicator">True</property>
                       </object>
                       <packing>
@@ -698,8 +681,8 @@
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">False</property>
-                            <property name="use_action_appearance">False</property>
                             <property name="use_underline">True</property>
+                            <property name="xalign">0.5</property>
                             <property name="draw_indicator">True</property>
                           </object>
                           <packing>
@@ -716,8 +699,6 @@
                             <property name="invisible_char_set">True</property>
                             <property name="primary_icon_activatable">False</property>
                             <property name="secondary_icon_activatable">False</property>
-                            <property name="primary_icon_sensitive">True</property>
-                            <property name="secondary_icon_sensitive">True</property>
                             <property name="adjustment">refresh-adjustment</property>
                             <property name="climb_rate">1</property>
                             <property name="snap_to_ticks">True</property>
@@ -777,8 +758,8 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
                         <property name="use_underline">True</property>
+                        <property name="xalign">0.5</property>
                         <property name="draw_indicator">True</property>
                       </object>
                       <packing>
@@ -816,7 +797,7 @@
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
+                        <property name="xalign">0.5</property>
                         <property name="draw_indicator">True</property>
                       </object>
                       <packing>
@@ -894,8 +875,8 @@
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
                         <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                        <property name="use_action_appearance">False</property>
                         <property name="use_underline">True</property>
+                        <property name="xalign">0.5</property>
                         <property name="draw_indicator">True</property>
                       </object>
                       <packing>
@@ -913,8 +894,6 @@
                         <property name="caps_lock_warning">False</property>
                         <property name="primary_icon_activatable">False</property>
                         <property name="secondary_icon_activatable">False</property>
-                        <property name="primary_icon_sensitive">True</property>
-                        <property name="secondary_icon_sensitive">True</property>
                         <property name="adjustment">mark-read-adjustment</property>
                         <property name="climb_rate">1</property>
                         <property name="snap_to_ticks">True</property>
@@ -966,24 +945,17 @@
       <action-widget response="-7">closeButton</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkAdjustment" id="refresh-adjustment">
-    <property name="lower">1</property>
-    <property name="upper">100</property>
-    <property name="value">15</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
-  </object>
   <object class="GtkDialog" id="remove-channel">
     <property name="can_focus">False</property>
     <property name="border_width">5</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox1">
+      <object class="GtkBox" id="dialog-vbox1">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="spacing">2</property>
         <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area1">
+          <object class="GtkButtonBox" id="dialog-action_area1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
@@ -993,7 +965,6 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_stock">True</property>
               </object>
               <packing>
@@ -1008,7 +979,6 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
                 <property name="use_stock">True</property>
               </object>
               <packing>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]