]> git.0d.be Git - empathy.git/blobdiff - libempathy-gtk/empathy-irc-network-dialog.c
Merge branch 'gnome-3-8'
[empathy.git] / libempathy-gtk / empathy-irc-network-dialog.c
index 8d46764179e6cc31b5f5acc04f2ff03994b3f658..35457f5923f7da69acd5ffd0db61672362d8152b 100644 (file)
  */
 
 #include "config.h"
-
-#include <stdlib.h>
-#include <string.h>
-#include <sys/stat.h>
+#include "empathy-irc-network-dialog.h"
 
 #include <glib/gi18n-lib.h>
-#include <gtk/gtk.h>
-
-#include <libempathy/empathy-utils.h>
-#include <libempathy/empathy-account.h>
 
-#include <libempathy/empathy-irc-network-manager.h>
 #include "empathy-ui-utils.h"
 #include "totem-subtitle-encoding.h"
 
-#include "empathy-irc-network-dialog.h"
-
 typedef struct {
   EmpathyIrcNetwork *network;
 
@@ -460,7 +450,8 @@ empathy_irc_network_dialog_show (EmpathyIrcNetwork *network,
   GtkAdjustment *adjustment;
   GtkTreeSelection *selection;
   GtkTreeViewColumn *column;
-  gchar *filename;
+  GtkWidget *sw, *toolbar;
+  GtkStyleContext *context;
 
   g_return_val_if_fail (network != NULL, NULL);
 
@@ -477,9 +468,7 @@ empathy_irc_network_dialog_show (EmpathyIrcNetwork *network,
   dialog->network = network;
   g_object_ref (dialog->network);
 
-  filename = empathy_file_lookup ("empathy-account-widget-irc.ui",
-      "libempathy-gtk");
-  gui = empathy_builder_get_file (filename,
+  gui = empathy_builder_get_resource (ACCOUNT_WIDGETS_RESOURCES_PREFIX "/empathy-account-widget-irc.ui",
       "irc_network_dialog", &dialog->dialog,
       "button_close", &dialog->button_close,
       "entry_network", &dialog->entry_network,
@@ -489,8 +478,9 @@ 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);
 
   store = gtk_list_store_new (4, G_TYPE_OBJECT, G_TYPE_STRING,
       G_TYPE_UINT, G_TYPE_BOOLEAN);
@@ -507,6 +497,11 @@ 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,
@@ -518,12 +513,15 @@ empathy_irc_network_dialog_show (EmpathyIrcNetwork *network,
       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 */
@@ -540,6 +538,11 @@ 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));
 
@@ -569,8 +572,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;
 }