empathy r706 - trunk/libempathy-gtk
- From: xclaesse svn gnome org
- To: svn-commits-list gnome org
- Subject: empathy r706 - trunk/libempathy-gtk
- Date: Sat, 8 Mar 2008 14:59:00 +0000 (GMT)
Author: xclaesse
Date: Sat Mar 8 14:59:00 2008
New Revision: 706
URL: http://svn.gnome.org/viewvc/empathy?rev=706&view=rev
Log:
Add an advanced expander in the generic setting widget. Fixes bug #466521 (Marco Barisione).
Added:
trunk/libempathy-gtk/empathy-account-widget-generic.glade
Modified:
trunk/libempathy-gtk/Makefile.am
trunk/libempathy-gtk/empathy-account-widget.c
Modified: trunk/libempathy-gtk/Makefile.am
==============================================================================
--- trunk/libempathy-gtk/Makefile.am (original)
+++ trunk/libempathy-gtk/Makefile.am Sat Mar 8 14:59:00 2008
@@ -127,6 +127,7 @@
empathy-preferences.glade \
empathy-presence-chooser.glade \
empathy-accounts-dialog.glade \
+ empathy-account-widget-generic.glade \
empathy-account-widget-jabber.glade \
empathy-account-widget-msn.glade \
empathy-account-widget-salut.glade \
Added: trunk/libempathy-gtk/empathy-account-widget-generic.glade
==============================================================================
--- (empty file)
+++ trunk/libempathy-gtk/empathy-account-widget-generic.glade Sat Mar 8 14:59:00 2008
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
+<!--*- mode: xml -*-->
+<glade-interface>
+ <widget class="GtkWindow" id="account_generic_settings">
+ <property name="visible">True</property>
+ <property name="title" translatable="yes">generic account settings</property>
+ <property name="resizable">False</property>
+ <child>
+ <widget class="GtkVBox" id="vbox_generic_settings">
+ <property name="visible">True</property>
+ <property name="spacing">6</property>
+ <child>
+ <widget class="GtkTable" id="table_common_settings">
+ <property name="visible">True</property>
+ <property name="n_columns">3</property>
+ <property name="column_spacing">12</property>
+ <property name="row_spacing">6</property>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkExpander" id="expander1">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <child>
+ <widget class="GtkScrolledWindow" id="scrolledwindow1">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <child>
+ <widget class="GtkViewport" id="viewport1">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="resize_mode">GTK_RESIZE_QUEUE</property>
+ <child>
+ <widget class="GtkTable" id="table_advanced_settings">
+ <property name="visible">True</property>
+ <property name="n_columns">3</property>
+ <property name="column_spacing">12</property>
+ <property name="row_spacing">6</property>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Advanced</b></property>
+ <property name="use_markup">True</property>
+ </widget>
+ <packing>
+ <property name="type">label_item</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
+</glade-interface>
Modified: trunk/libempathy-gtk/empathy-account-widget.c
==============================================================================
--- trunk/libempathy-gtk/empathy-account-widget.c (original)
+++ trunk/libempathy-gtk/empathy-account-widget.c Sat Mar 8 14:59:00 2008
@@ -239,12 +239,12 @@
static void
accounts_widget_generic_setup (McAccount *account,
- GtkWidget *table_settings)
+ GtkWidget *table_common_settings,
+ GtkWidget *table_advanced_settings)
{
McProtocol *protocol;
McProfile *profile;
GSList *params, *l;
- guint n_rows = 0;
profile = mc_account_get_profile (account);
protocol = mc_profile_get_protocol (profile);
@@ -263,11 +263,19 @@
for (l = params; l; l = l->next) {
McProtocolParam *param;
+ GtkWidget *table_settings;
+ guint n_rows = 0;
GtkWidget *widget = NULL;
gchar *param_name_formatted;
param = l->data;
+ if (param->flags & MC_PROTOCOL_PARAM_REQUIRED) {
+ table_settings = table_common_settings;
+ } else {
+ table_settings = table_advanced_settings;
+ }
param_name_formatted = account_widget_generic_format_param_name (param->name);
+ g_object_get (table_settings, "n-rows", &n_rows, NULL);
gtk_table_resize (GTK_TABLE (table_settings), ++n_rows, 2);
if (param->signature[0] == 's') {
@@ -434,26 +442,28 @@
GtkWidget *
empathy_account_widget_generic_new (McAccount *account)
{
- GtkWidget *table_settings;
- GtkWidget *sw;
+ GladeXML *glade;
+ GtkWidget *widget;
+ GtkWidget *table_common_settings;
+ GtkWidget *table_advanced_settings;
g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL);
- table_settings = gtk_table_new (0, 2, FALSE);
- gtk_table_set_row_spacings (GTK_TABLE (table_settings), 6);
- gtk_table_set_col_spacings (GTK_TABLE (table_settings), 6);
- sw = gtk_scrolled_window_new (NULL, NULL);
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
- GTK_POLICY_AUTOMATIC,
- GTK_POLICY_AUTOMATIC);
- gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (sw),
- table_settings);
-
- accounts_widget_generic_setup (account, table_settings);
+ glade = empathy_glade_get_file ("empathy-account-widget-generic.glade",
+ "vbox_generic_settings",
+ NULL,
+ "vbox_generic_settings", &widget,
+ "table_common_settings", &table_common_settings,
+ "table_advanced_settings", &table_advanced_settings,
+ NULL);
+
+ accounts_widget_generic_setup (account, table_common_settings, table_advanced_settings);
- gtk_widget_show_all (sw);
+ g_object_unref (glade);
- return sw;
+ gtk_widget_show_all (widget);
+
+ return widget;
}
GtkWidget *
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]