]> git.0d.be Git - empathy.git/blobdiff - libempathy-gtk/empathy-irc-network-dialog.c
Merge branch 'gnome-3-6'
[empathy.git] / libempathy-gtk / empathy-irc-network-dialog.c
index 7f352f86df2cce11b78cd6969dd7c793a0b6b260..65f0a41bb51c5af09370b37f9ddcbee03416e051 100644 (file)
 #include <string.h>
 #include <sys/stat.h>
 
-#include <glib/gi18n.h>
+#include <glib/gi18n-lib.h>
 #include <gtk/gtk.h>
-#include <glade/glade.h>
-
-#include <libmissioncontrol/mc-account.h>
-#include <libmissioncontrol/mc-protocol.h>
 
 #include <libempathy/empathy-utils.h>
-#include <libempathy/empathy-debug.h>
 
 #include <libempathy/empathy-irc-network-manager.h>
 #include "empathy-ui-utils.h"
@@ -40,8 +35,6 @@
 
 #include "empathy-irc-network-dialog.h"
 
-#define DEBUG_DOMAIN "AccountWidgetIRC"
-
 typedef struct {
   EmpathyIrcNetwork *network;
 
@@ -260,7 +253,7 @@ irc_network_dialog_network_update_buttons (EmpathyIrcNetworkDialog *dialog)
 
     can_remove = TRUE;
     can_move_up = selected > 0;
-    can_move_down = 
+    can_move_down =
       selected < gtk_tree_model_iter_n_children (model, NULL) - 1;
 
     gtk_tree_path_free (path);
@@ -460,13 +453,15 @@ empathy_irc_network_dialog_show (EmpathyIrcNetwork *network,
                                  GtkWidget *parent)
 {
   static EmpathyIrcNetworkDialog *dialog = NULL;
-  GladeXML *glade;
+  GtkBuilder *gui;
   GtkListStore *store;
   GtkCellRenderer *renderer;
   GtkAdjustment *adjustment;
   GtkTreeSelection *selection;
   GtkTreeViewColumn *column;
   gchar *filename;
+  GtkWidget *sw, *toolbar;
+  GtkStyleContext *context;
 
   g_return_val_if_fail (network != NULL, NULL);
 
@@ -483,11 +478,9 @@ empathy_irc_network_dialog_show (EmpathyIrcNetwork *network,
   dialog->network = network;
   g_object_ref (dialog->network);
 
-  filename = empathy_file_lookup ("empathy-account-widget-irc.glade",
+  filename = empathy_file_lookup ("empathy-account-widget-irc.ui",
       "libempathy-gtk");
-  glade = empathy_glade_get_file (filename,
-      "irc_network_dialog",
-      NULL,
+  gui = empathy_builder_get_file (filename,
       "irc_network_dialog", &dialog->dialog,
       "button_close", &dialog->button_close,
       "entry_network", &dialog->entry_network,
@@ -497,6 +490,8 @@ empathy_irc_network_dialog_show (EmpathyIrcNetwork *network,
       "button_remove", &dialog->button_remove,
       "button_up", &dialog->button_up,
       "button_down", &dialog->button_down,
+      "scrolledwindow_network_server", &sw,
+      "toolbar_network_server", &toolbar,
       NULL);
   g_free (filename);
 
@@ -515,23 +510,31 @@ empathy_irc_network_dialog_show (EmpathyIrcNetwork *network,
       GTK_TREE_VIEW (dialog->treeview_servers),
       -1, _("Server"), renderer, "text", COL_ADR,
       NULL);
+  column = gtk_tree_view_get_column (GTK_TREE_VIEW (dialog->treeview_servers),
+      0);
+
+  gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
+  gtk_tree_view_column_set_expand (column, TRUE);
 
   /* port */
   adjustment = (GtkAdjustment *) gtk_adjustment_new (6667, 1, G_MAXUINT16,
       1, 10, 0);
   renderer = gtk_cell_renderer_spin_new ();
   g_object_set (renderer,
-      "editable", TRUE, 
+      "editable", TRUE,
       "adjustment", adjustment,
       NULL);
   g_signal_connect (renderer, "edited",
       G_CALLBACK (irc_network_dialog_port_edited_cb), dialog);
+
   gtk_tree_view_insert_column_with_attributes (
       GTK_TREE_VIEW (dialog->treeview_servers),
       -1, _("Port"), renderer, "text", COL_PORT,
       NULL);
+
   column = gtk_tree_view_get_column (GTK_TREE_VIEW (dialog->treeview_servers),
       1);
+  gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
   gtk_tree_view_column_set_expand (column, TRUE);
 
   /* SSL */
@@ -548,12 +551,17 @@ empathy_irc_network_dialog_show (EmpathyIrcNetwork *network,
       GTK_TREE_VIEW (dialog->treeview_servers));
   gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE);
 
+  column = gtk_tree_view_get_column (GTK_TREE_VIEW (dialog->treeview_servers),
+      2);
+  gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
+
+  gtk_tree_view_column_set_expand (column, TRUE);
   /* charset */
   totem_subtitle_encoding_init (GTK_COMBO_BOX (dialog->combobox_charset));
 
   irc_network_dialog_setup (dialog);
 
-  empathy_glade_connect (glade, dialog,
+  empathy_builder_connect (gui, dialog,
       "irc_network_dialog", "destroy", irc_network_dialog_destroy_cb,
       "button_close", "clicked", irc_network_dialog_close_clicked_cb,
       "entry_network", "focus-out-event", irc_network_dialog_network_focus_cb,
@@ -564,7 +572,7 @@ empathy_irc_network_dialog_show (EmpathyIrcNetwork *network,
       "combobox_charset", "changed", irc_network_dialog_combobox_charset_changed_cb,
       NULL);
 
-  g_object_unref (glade);
+  g_object_unref (gui);
 
   g_object_add_weak_pointer (G_OBJECT (dialog->dialog),
       (gpointer) &dialog);
@@ -577,7 +585,17 @@ empathy_irc_network_dialog_show (EmpathyIrcNetwork *network,
       GTK_WINDOW (parent));
   gtk_window_set_modal (GTK_WINDOW (dialog->dialog), TRUE);
 
+  /* join the add/remove toolbar to the treeview */
+  context = gtk_widget_get_style_context (sw);
+  gtk_style_context_set_junction_sides (context, GTK_JUNCTION_BOTTOM);
+
+  context = gtk_widget_get_style_context (toolbar);
+  gtk_style_context_set_junction_sides (context, GTK_JUNCTION_TOP);
+
   irc_network_dialog_network_update_buttons (dialog);
+  gtk_widget_show_all (dialog->dialog);
+
+  gtk_window_set_resizable (GTK_WINDOW (dialog->dialog), FALSE);
 
   return dialog->dialog;
 }