[smuxi/experiments/gtk2_builder_pref_dialog: 24/25] Frontend-GNOME: backport of GTK3 ServerListWidget to GTK2



commit 1c1558d74b89b4c727da1e96a9550aa5bb5e05ae
Author: Mirco Bauer <meebey meebey net>
Date:   Fri Jun 3 09:06:51 2016 +0200

    Frontend-GNOME: backport of GTK3 ServerListWidget to GTK2

 src/Frontend-GNOME/Interfaces/ServerListWidget.ui |   17 +++-----
 src/Frontend-GNOME/Preferences/ServerListView.cs  |   42 ++++++--------------
 2 files changed, 19 insertions(+), 40 deletions(-)
---
diff --git a/src/Frontend-GNOME/Interfaces/ServerListWidget.ui 
b/src/Frontend-GNOME/Interfaces/ServerListWidget.ui
index ce8e7a3..1facd5c 100644
--- a/src/Frontend-GNOME/Interfaces/ServerListWidget.ui
+++ b/src/Frontend-GNOME/Interfaces/ServerListWidget.ui
@@ -1,25 +1,23 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
-  <!-- interface-requires gtk+ 3.0 -->
-  <object class="GtkBox" id="ServerListBox">
+  <requires lib="gtk+" version="2.24"/>
+  <!-- interface-naming-policy toplevel-contextual -->
+  <object class="GtkVBox" id="ServerListBox">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
-    <property name="orientation">vertical</property>
     <child>
-      <object class="GtkBox" id="box1">
+      <object class="GtkVBox" id="box1">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
-        <property name="orientation">vertical</property>
         <child>
           <object class="GtkScrolledWindow" id="scrolledwindow1">
             <property name="can_focus">True</property>
+            <property name="hscrollbar_policy">automatic</property>
+            <property name="vscrollbar_policy">automatic</property>
             <property name="shadow_type">etched-in</property>
             <child>
               <object class="GtkTreeView" id="ServersTreeView">
                 <property name="can_focus">True</property>
-                <child internal-child="selection">
-                  <object class="GtkTreeSelection" id="treeview-selection3"/>
-                </child>
               </object>
             </child>
           </object>
@@ -35,9 +33,6 @@
             <property name="can_focus">False</property>
             <property name="toolbar_style">icons</property>
             <property name="show_arrow">False</property>
-            <style>
-              <class name="inline-toolbar"/>
-            </style>
             <child>
               <object class="GtkToolButton" id="AddServerToolButton">
                 <property name="visible">True</property>
diff --git a/src/Frontend-GNOME/Preferences/ServerListView.cs 
b/src/Frontend-GNOME/Preferences/ServerListView.cs
index c4d060c..b538eaf 100644
--- a/src/Frontend-GNOME/Preferences/ServerListView.cs
+++ b/src/Frontend-GNOME/Preferences/ServerListView.cs
@@ -1,13 +1,7 @@
 /*
- * $Id: PreferencesDialog.cs 142 2007-01-02 22:19:08Z meebey $
- * $URL: svn+ssh://svn.qnetp.net/svn/smuxi/smuxi/trunk/src/Frontend-GNOME/PreferencesDialog.cs $
- * $Rev: 142 $
- * $Author: meebey $
- * $Date: 2007-01-02 23:19:08 +0100 (Tue, 02 Jan 2007) $
- *
  * Smuxi - Smart MUltipleXed Irc
  *
- * Copyright (c) 2005-2008, 2010, 2012-2013 Mirco Bauer <meebey meebey net>
+ * Copyright (c) 2005-2008, 2010, 2012-2013, 2016 Mirco Bauer <meebey meebey net>
  *
  * Full GPL License: <http://www.gnu.org/licenses/gpl.txt>
  *
@@ -52,12 +46,6 @@ namespace Smuxi.Frontend.Gnome
         Gtk.ToolButton _EditButton;
         [UI("RemoveServerToolButton")]
         Gtk.ToolButton _RemoveButton;
-        [UI("ServersAddButton")]
-        private Gtk.Button               _AddButton;
-        [UI("ServersEditButton")]
-        private Gtk.Button               _EditButton;
-        [UI("ServersRemoveButton")]
-        private Gtk.Button               _RemoveButton;
 #endregion
         
         public ServerListView(Gtk.Window parent)
@@ -70,24 +58,24 @@ namespace Smuxi.Frontend.Gnome
 
             _Parent = parent;
 
-            var builder = new Gtk.Builder(null, "ServerListWidget.ui", null);
-            builder.Autoconnect(this);
-            Add((Gtk.Widget) builder.GetObject("ServerListBox"));
-
+            Build();
             Init();
             ShowAll();
         }
 
+        void Build()
+        {
+            global::Stetic.BinContainer.Attach(this);
+            var builder = new Gtk.Builder(null, "ServerListWidget.ui", null);
+            builder.Autoconnect(this);
+            var box = (Gtk.Widget) builder.GetObject("ServerListBox");
+            Add(box);
+        }
+
         void Init()
         {
             _Controller = new ServerListController(Frontend.UserConfig);
 
-#if GLADE_SHARP
-            _AddButton.Clicked += new EventHandler(OnAddButtonClicked);
-            _EditButton.Clicked += new EventHandler(OnEditButtonClicked);
-            _RemoveButton.Clicked += new EventHandler(OnRemoveButtonClicked);
-#endif
-
             _TreeView.AppendColumn(_("Protocol"), new Gtk.CellRendererText(), "text", 1); 
             _TreeView.AppendColumn(_("Hostname"), new Gtk.CellRendererText(), "text", 2); 
             
@@ -154,9 +142,7 @@ namespace Smuxi.Frontend.Gnome
         {
             Trace.Call();
             
-            var builder = new Gtk.Builder(null, "ServerDialog.ui", null);
-            var widget = (Gtk.Widget) builder.GetObject("ServerDialog");
-            var dialog = new ServerDialog(_Parent, builder, widget.Handle, null,
+            var dialog = new ServerDialog(_Parent, null,
                                           Frontend.Session.GetSupportedProtocols(),
                                           _Controller.GetNetworks());
             try {
@@ -184,9 +170,7 @@ namespace Smuxi.Frontend.Gnome
                 throw new ArgumentNullException("server");
             }
             
-            var builder = new Gtk.Builder(null, "ServerDialog.ui", null);
-            var widget = (Gtk.Widget) builder.GetObject("ServerDialog");
-            var dialog = new ServerDialog(_Parent, builder, widget.Handle, server,
+            var dialog = new ServerDialog(_Parent, server,
                                           Frontend.Session.GetSupportedProtocols(),
                                           _Controller.GetNetworks());
             int res = dialog.Run();


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