aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook
diff options
context:
space:
mode:
Diffstat (limited to 'addressbook')
-rw-r--r--addressbook/ChangeLog18
-rw-r--r--addressbook/gui/contact-editor/contact-editor.glade857
-rw-r--r--addressbook/gui/contact-editor/e-contact-editor.c74
3 files changed, 634 insertions, 315 deletions
diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog
index 411d5a0034..6727dfd5a8 100644
--- a/addressbook/ChangeLog
+++ b/addressbook/ChangeLog
@@ -1,3 +1,21 @@
+2004-05-28 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-editor/contact-editor.glade: Add back office, spouse,
+ web log fields. Allow for 8 phone numbers, of which 4 can be hidden.
+
+ * gui/contact-editor/e-contact-editor.c (phones_default): Add more
+ defaults.
+ (im_service_default): Add more defaults.
+ (expand_phone): Implement.
+ (fill_in_phone_record): Expand if we have any records past 4.
+ (init_im_record_location)
+ (fill_in_im_record)
+ (extract_im_record)
+ (sensitize_im_record): Remove location.
+ (simple_field_map): Add spouse, office, web log.
+ (expand_phone_toggle): Implement.
+ (e_contact_editor_init): Hook up expander button.
+
2004-05-28 Christophe Fergeau <teuf@gnome.org>
* gui/component/addressbook-config.c: added missing #ifdef HAVE_LDAP
diff --git a/addressbook/gui/contact-editor/contact-editor.glade b/addressbook/gui/contact-editor/contact-editor.glade
index 59d3c0cea5..a1a136a03b 100644
--- a/addressbook/gui/contact-editor/contact-editor.glade
+++ b/addressbook/gui/contact-editor/contact-editor.glade
@@ -385,7 +385,7 @@
<widget class="GtkVBox" id="vbox34">
<property name="visible">True</property>
<property name="homogeneous">False</property>
- <property name="spacing">12</property>
+ <property name="spacing">10</property>
<child>
<widget class="GtkFrame" id="frame65">
@@ -694,29 +694,27 @@
</child>
<child>
- <widget class="GtkFrame" id="frame64">
+ <widget class="GtkVBox" id="vbox38">
<property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_NONE</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
<child>
- <widget class="GtkScrolledWindow" id="scrolledwindow40">
+ <widget class="GtkFrame" id="frame64">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
- <property name="vscrollbar_policy">GTK_POLICY_NEVER</property>
+ <property name="label_xalign">0</property>
+ <property name="label_yalign">0.5</property>
<property name="shadow_type">GTK_SHADOW_NONE</property>
- <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
<child>
- <widget class="GtkViewport" id="viewport24">
+ <widget class="GtkVBox" id="vbox37">
+ <property name="border_width">12</property>
<property name="visible">True</property>
- <property name="shadow_type">GTK_SHADOW_NONE</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">6</property>
<child>
<widget class="GtkTable" id="table84">
- <property name="border_width">11</property>
<property name="visible">True</property>
<property name="n_rows">2</property>
<property name="n_columns">4</property>
@@ -964,28 +962,333 @@
</packing>
</child>
</widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkTable" id="table-phone-extended">
+ <property name="n_rows">2</property>
+ <property name="n_columns">4</property>
+ <property name="homogeneous">False</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">6</property>
+
+ <child>
+ <widget class="GtkOptionMenu" id="optionmenu-phone-5">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="history">0</property>
+
+ <child>
+ <widget class="GtkMenu" id="menu187">
+
+ <child>
+ <widget class="GtkMenuItem" id="menuitem430">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Work</property>
+ <property name="use_underline">True</property>
+ <signal name="activate" handler="on_work2_activate" last_modification_time="Fri, 12 Mar 2004 19:27:14 GMT"/>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkMenuItem" id="menuitem431">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Personal</property>
+ <property name="use_underline">True</property>
+ <signal name="activate" handler="on_personal2_activate" last_modification_time="Fri, 12 Mar 2004 19:27:14 GMT"/>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkOptionMenu" id="optionmenu-phone-6">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="history">0</property>
+
+ <child>
+ <widget class="GtkMenu" id="menu188">
+
+ <child>
+ <widget class="GtkMenuItem" id="menuitem432">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Work</property>
+ <property name="use_underline">True</property>
+ <signal name="activate" handler="on_work2_activate" last_modification_time="Fri, 12 Mar 2004 19:27:14 GMT"/>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkMenuItem" id="menuitem433">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Personal</property>
+ <property name="use_underline">True</property>
+ <signal name="activate" handler="on_personal2_activate" last_modification_time="Fri, 12 Mar 2004 19:27:14 GMT"/>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="entry-phone-5">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char" translatable="yes">*</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="entry-phone-6">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char" translatable="yes">*</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkOptionMenu" id="optionmenu-phone-7">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="history">0</property>
+
+ <child>
+ <widget class="GtkMenu" id="menu189">
+
+ <child>
+ <widget class="GtkMenuItem" id="menuitem434">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Work</property>
+ <property name="use_underline">True</property>
+ <signal name="activate" handler="on_work2_activate" last_modification_time="Fri, 12 Mar 2004 19:27:14 GMT"/>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkMenuItem" id="menuitem435">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Personal</property>
+ <property name="use_underline">True</property>
+ <signal name="activate" handler="on_personal2_activate" last_modification_time="Fri, 12 Mar 2004 19:27:14 GMT"/>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="right_attach">3</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkOptionMenu" id="optionmenu-phone-8">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="history">0</property>
+
+ <child>
+ <widget class="GtkMenu" id="menu190">
+
+ <child>
+ <widget class="GtkMenuItem" id="menuitem436">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Work</property>
+ <property name="use_underline">True</property>
+ <signal name="activate" handler="on_work2_activate" last_modification_time="Fri, 12 Mar 2004 19:27:14 GMT"/>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkMenuItem" id="menuitem437">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Personal</property>
+ <property name="use_underline">True</property>
+ <signal name="activate" handler="on_personal2_activate" last_modification_time="Fri, 12 Mar 2004 19:27:14 GMT"/>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="right_attach">3</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="entry-phone-7">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char" translatable="yes">*</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="right_attach">4</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="entry-phone-8">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char" translatable="yes">*</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="right_attach">4</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
</child>
</widget>
</child>
- </widget>
- </child>
- <child>
- <widget class="GtkLabel" id="label399">
- <property name="visible">True</property>
- <property name="label" translatable="yes">&lt;b&gt;Telephone&lt;/b&gt;</property>
- <property name="use_underline">False</property>
- <property name="use_markup">True</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
+ <child>
+ <widget class="GtkHBox" id="hbox56">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">4</property>
+
+ <child>
+ <widget class="GtkLabel" id="label399">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">&lt;b&gt;Telephone&lt;/b&gt;</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="button-phone-expand">
+ <property name="width_request">20</property>
+ <property name="height_request">20</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NONE</property>
+
+ <child>
+ <widget class="GtkArrow" id="arrow-phone-expand">
+ <property name="visible">True</property>
+ <property name="arrow_type">GTK_ARROW_RIGHT</property>
+ <property name="shadow_type">GTK_SHADOW_NONE</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="type">label_item</property>
+ </packing>
+ </child>
</widget>
<packing>
- <property name="type">label_item</property>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
</packing>
</child>
</widget>
@@ -1007,7 +1310,7 @@
<widget class="GtkTable" id="table86">
<property name="border_width">12</property>
<property name="visible">True</property>
- <property name="n_rows">3</property>
+ <property name="n_rows">2</property>
<property name="n_columns">4</property>
<property name="homogeneous">False</property>
<property name="row_spacing">6</property>
@@ -1190,10 +1493,10 @@
</child>
</widget>
<packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
+ <property name="left_attach">2</property>
+ <property name="right_attach">3</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
@@ -1212,280 +1515,79 @@
<property name="activates_default">False</property>
</widget>
<packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkOptionMenu" id="optionmenu-im-location-1">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="history">0</property>
-
- <child>
- <widget class="GtkMenu" id="menu176">
-
- <child>
- <widget class="GtkMenuItem" id="menuitem397">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Home</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_home1_activate" last_modification_time="Tue, 16 Mar 2004 19:00:20 GMT"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="menuitem398">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Work</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_work1_activate" last_modification_time="Tue, 16 Mar 2004 19:00:20 GMT"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="menuitem399">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Other</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_other1_activate" last_modification_time="Tue, 16 Mar 2004 19:00:20 GMT"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="menuitem400">
- <property name="visible">True</property>
- <property name="label" translatable="yes">item7</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_item7_activate" last_modification_time="Tue, 16 Mar 2004 19:00:20 GMT"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="menuitem401">
- <property name="visible">True</property>
- <property name="label" translatable="yes">item8</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_item8_activate" last_modification_time="Tue, 16 Mar 2004 19:00:20 GMT"/>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">0</property>
<property name="bottom_attach">1</property>
- <property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label401">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Location:</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label402">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Location:</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkOptionMenu" id="optionmenu-im-location-2">
+ <widget class="GtkOptionMenu" id="optionmenu-im-service-4">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="history">0</property>
<child>
- <widget class="GtkMenu" id="menu177">
+ <widget class="GtkMenu" id="menu183">
<child>
- <widget class="GtkMenuItem" id="menuitem402">
+ <widget class="GtkMenuItem" id="menuitem420">
<property name="visible">True</property>
- <property name="label" translatable="yes">Home</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_home1_activate" last_modification_time="Tue, 16 Mar 2004 19:00:20 GMT"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="menuitem403">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Work</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_work1_activate" last_modification_time="Tue, 16 Mar 2004 19:00:20 GMT"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="menuitem404">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Other</property>
+ <property name="label" translatable="yes">AIM</property>
<property name="use_underline">True</property>
- <signal name="activate" handler="on_other1_activate" last_modification_time="Tue, 16 Mar 2004 19:00:20 GMT"/>
+ <signal name="activate" handler="on_aim1_activate" last_modification_time="Fri, 12 Mar 2004 18:38:59 GMT"/>
</widget>
</child>
<child>
- <widget class="GtkMenuItem" id="menuitem405">
+ <widget class="GtkMenuItem" id="menuitem421">
<property name="visible">True</property>
- <property name="label" translatable="yes">item7</property>
+ <property name="label" translatable="yes">Novell Groupwise</property>
<property name="use_underline">True</property>
- <signal name="activate" handler="on_item7_activate" last_modification_time="Tue, 16 Mar 2004 19:00:20 GMT"/>
+ <signal name="activate" handler="on_novell_groupwise1_activate" last_modification_time="Fri, 12 Mar 2004 18:38:59 GMT"/>
</widget>
</child>
<child>
- <widget class="GtkMenuItem" id="menuitem406">
+ <widget class="GtkMenuItem" id="menuitem422">
<property name="visible">True</property>
- <property name="label" translatable="yes">item8</property>
+ <property name="label" translatable="yes">MSN Messenger</property>
<property name="use_underline">True</property>
- <signal name="activate" handler="on_item8_activate" last_modification_time="Tue, 16 Mar 2004 19:00:20 GMT"/>
+ <signal name="activate" handler="on_msn_messenger1_activate" last_modification_time="Fri, 12 Mar 2004 18:38:59 GMT"/>
</widget>
</child>
</widget>
</child>
</widget>
<packing>
- <property name="left_attach">3</property>
- <property name="right_attach">4</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label403">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Location:</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
</child>
<child>
- <widget class="GtkOptionMenu" id="optionmenu-im-location-3">
+ <widget class="GtkEntry" id="entry-im-name-4">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="history">0</property>
-
- <child>
- <widget class="GtkMenu" id="menu178">
-
- <child>
- <widget class="GtkMenuItem" id="menuitem407">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Home</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_home1_activate" last_modification_time="Tue, 16 Mar 2004 19:00:20 GMT"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="menuitem408">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Work</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_work1_activate" last_modification_time="Tue, 16 Mar 2004 19:00:20 GMT"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="menuitem409">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Other</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_other1_activate" last_modification_time="Tue, 16 Mar 2004 19:00:20 GMT"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="menuitem410">
- <property name="visible">True</property>
- <property name="label" translatable="yes">item7</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_item7_activate" last_modification_time="Tue, 16 Mar 2004 19:00:20 GMT"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="menuitem411">
- <property name="visible">True</property>
- <property name="label" translatable="yes">item8</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_item8_activate" last_modification_time="Tue, 16 Mar 2004 19:00:20 GMT"/>
- </widget>
- </child>
- </widget>
- </child>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char" translatable="yes">*</property>
+ <property name="activates_default">False</property>
</widget>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="x_options">fill</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
<property name="y_options"></property>
</packing>
</child>
@@ -1526,7 +1628,7 @@
</child>
</widget>
<packing>
- <property name="tab_expand">False</property>
+ <property name="tab_expand">True</property>
<property name="tab_fill">True</property>
</packing>
</child>
@@ -1568,7 +1670,7 @@
<widget class="GtkTable" id="table87">
<property name="border_width">12</property>
<property name="visible">True</property>
- <property name="n_rows">4</property>
+ <property name="n_rows">5</property>
<property name="n_columns">2</property>
<property name="homogeneous">False</property>
<property name="row_spacing">6</property>
@@ -1615,8 +1717,8 @@
<packing>
<property name="left_attach">0</property>
<property name="right_attach">1</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
@@ -1639,8 +1741,8 @@
<packing>
<property name="left_attach">0</property>
<property name="right_attach">1</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
@@ -1649,7 +1751,7 @@
<child>
<widget class="GtkLabel" id="label-videourl">
<property name="visible">True</property>
- <property name="label" translatable="yes">Webcam:</property>
+ <property name="label" translatable="yes">Video Chat:</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -1663,8 +1765,8 @@
<packing>
<property name="left_attach">0</property>
<property name="right_attach">1</property>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
+ <property name="top_attach">4</property>
+ <property name="bottom_attach">5</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
@@ -1698,8 +1800,8 @@
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
<property name="y_options">fill</property>
</packing>
</child>
@@ -1715,8 +1817,8 @@
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
<property name="y_options">fill</property>
</packing>
</child>
@@ -1732,8 +1834,50 @@
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
+ <property name="top_attach">4</property>
+ <property name="bottom_attach">5</property>
+ <property name="y_options">fill</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label-weblog">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Web Log:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="Custom" id="entry-weblog">
+ <property name="visible">True</property>
+ <property name="creation_function">e_contact_editor_create_web</property>
+ <property name="int1">0</property>
+ <property name="int2">0</property>
+ <property name="last_modification_time">Tue, 13 Apr 2004 22:04:21 GMT</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">fill</property>
<property name="y_options">fill</property>
</packing>
</child>
@@ -2092,38 +2236,15 @@
<widget class="GtkTable" id="table89">
<property name="border_width">12</property>
<property name="visible">True</property>
- <property name="n_rows">2</property>
+ <property name="n_rows">3</property>
<property name="n_columns">4</property>
<property name="homogeneous">False</property>
<property name="row_spacing">6</property>
<property name="column_spacing">6</property>
<child>
- <widget class="GtkLabel" id="label-birthday">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Birthday:</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
<widget class="GtkScrolledWindow" id="scrolledwindow41">
+ <property name="height_request">38</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
@@ -2152,8 +2273,8 @@
<packing>
<property name="left_attach">1</property>
<property name="right_attach">4</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
</packing>
</child>
@@ -2174,10 +2295,124 @@
<packing>
<property name="left_attach">0</property>
<property name="right_attach">1</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">fill</property>
+ <property name="y_options">fill</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label-office">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Office:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label-spouse">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Spouse:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">fill</property>
- <property name="y_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="entry-office">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char" translatable="yes">*</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="entry-spouse">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char" translatable="yes">*</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label-birthday">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Birthday:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="right_attach">3</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
</packing>
</child>
@@ -2198,38 +2433,38 @@
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
</child>
<child>
- <widget class="Custom" id="dateedit-birthday">
+ <widget class="Custom" id="dateedit-anniversary">
<property name="visible">True</property>
<property name="creation_function">e_contact_editor_create_date</property>
<property name="int1">0</property>
<property name="int2">0</property>
- <property name="last_modification_time">Tue, 13 Apr 2004 23:55:46 GMT</property>
+ <property name="last_modification_time">Tue, 13 Apr 2004 23:56:03 GMT</property>
</widget>
<packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
+ <property name="left_attach">3</property>
+ <property name="right_attach">4</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
<property name="x_options">fill</property>
<property name="y_options">fill</property>
</packing>
</child>
<child>
- <widget class="Custom" id="dateedit-anniversary">
+ <widget class="Custom" id="dateedit-birthday">
<property name="visible">True</property>
<property name="creation_function">e_contact_editor_create_date</property>
<property name="int1">0</property>
<property name="int2">0</property>
- <property name="last_modification_time">Tue, 13 Apr 2004 23:56:03 GMT</property>
+ <property name="last_modification_time">Tue, 13 Apr 2004 23:55:46 GMT</property>
</widget>
<packing>
<property name="left_attach">3</property>
diff --git a/addressbook/gui/contact-editor/e-contact-editor.c b/addressbook/gui/contact-editor/e-contact-editor.c
index 2d058eca04..b0207439bb 100644
--- a/addressbook/gui/contact-editor/e-contact-editor.c
+++ b/addressbook/gui/contact-editor/e-contact-editor.c
@@ -72,8 +72,8 @@
#include "e-contact-editor-marshal.h"
#define EMAIL_SLOTS 4
-#define PHONE_SLOTS 4
-#define IM_SLOTS 3
+#define PHONE_SLOTS 8
+#define IM_SLOTS 4
#define ADDRESS_SLOTS 3
#define EVOLUTION_UI_SLOT_PARAM "X-EVOLUTION-UI-SLOT"
@@ -155,7 +155,7 @@ phones [] = {
};
/* Defaults from the table above */
-gint phones_default [] = { 1, 6, 9, 2 };
+gint phones_default [] = { 1, 6, 9, 2, 7, 12, 10, 10 };
static EContactField addresses [] = {
E_CONTACT_ADDRESS_WORK,
@@ -184,7 +184,7 @@ im_service [] =
};
/* Defaults from the table above */
-gint im_service_default [] = { 0, 2, 3 };
+gint im_service_default [] = { 0, 2, 4, 5 };
static struct {
gchar *name;
@@ -1024,6 +1024,24 @@ set_attributes_named (EVCard *vcard, const gchar *attr_name, GList *attr_list)
}
static void
+expand_phone (EContactEditor *editor, gboolean expanded)
+{
+ GtkWidget *phone_ext_table;
+ GtkWidget *phone_ext_arrow;
+
+ phone_ext_table = glade_xml_get_widget (editor->gui, "table-phone-extended");
+ phone_ext_arrow = glade_xml_get_widget (editor->gui, "arrow-phone-expand");
+
+ if (expanded) {
+ gtk_arrow_set (GTK_ARROW (phone_ext_arrow), GTK_ARROW_DOWN, GTK_SHADOW_NONE);
+ gtk_widget_show (phone_ext_table);
+ } else {
+ gtk_arrow_set (GTK_ARROW (phone_ext_arrow), GTK_ARROW_RIGHT, GTK_SHADOW_NONE);
+ gtk_widget_hide (phone_ext_table);
+ }
+}
+
+static void
fill_in_phone_record (EContactEditor *editor, gint record, const gchar *phone, gint phone_type)
{
GtkWidget *phone_type_option_menu;
@@ -1042,6 +1060,9 @@ fill_in_phone_record (EContactEditor *editor, gint record, const gchar *phone, g
phone_type >= 0 ? phone_type :
phones_default [record - 1]);
set_entry_text (editor, GTK_ENTRY (phone_entry), phone ? phone : "");
+
+ if (phone && *phone && record >= 5)
+ expand_phone (editor, TRUE);
}
static void
@@ -1197,6 +1218,8 @@ init_phone (EContactEditor *editor)
{
gint i;
+ expand_phone (editor, FALSE);
+
for (i = 1; i <= PHONE_SLOTS; i++)
init_phone_record_type (editor, i);
}
@@ -1275,6 +1298,7 @@ init_im_record_location (EContactEditor *editor, gint record)
name_entry = glade_xml_get_widget (editor->gui, widget_name);
g_free (widget_name);
+#ifdef ENABLE_IM_LOCATION
widget_name = g_strdup_printf ("optionmenu-im-location-%d", record);
location_option_menu = glade_xml_get_widget (editor->gui, widget_name);
g_free (widget_name);
@@ -1292,6 +1316,8 @@ init_im_record_location (EContactEditor *editor, gint record)
gtk_option_menu_set_menu (GTK_OPTION_MENU (location_option_menu), location_menu);
g_signal_connect (location_option_menu, "changed", G_CALLBACK (object_changed), editor);
+#endif
+
g_signal_connect (name_entry, "changed", G_CALLBACK (object_changed), editor);
g_signal_connect_swapped (name_entry, "activate", G_CALLBACK (entry_activated), editor);
}
@@ -1338,7 +1364,9 @@ static void
fill_in_im_record (EContactEditor *editor, gint record, gint service, const gchar *name, gint location)
{
GtkWidget *service_option_menu;
+#ifdef ENABLE_IM_LOCATION
GtkWidget *location_option_menu;
+#endif
GtkWidget *name_entry;
gchar *widget_name;
@@ -1346,16 +1374,20 @@ fill_in_im_record (EContactEditor *editor, gint record, gint service, const gcha
service_option_menu = glade_xml_get_widget (editor->gui, widget_name);
g_free (widget_name);
+#ifdef ENABLE_IM_LOCATION
widget_name = g_strdup_printf ("optionmenu-im-location-%d", record);
location_option_menu = glade_xml_get_widget (editor->gui, widget_name);
g_free (widget_name);
+#endif
widget_name = g_strdup_printf ("entry-im-name-%d", record);
name_entry = glade_xml_get_widget (editor->gui, widget_name);
g_free (widget_name);
+#ifdef ENABLE_IM_LOCATION
set_option_menu_history (editor, GTK_OPTION_MENU (location_option_menu),
location >= 0 ? location : 0);
+#endif
set_option_menu_history (editor, GTK_OPTION_MENU (service_option_menu),
service >= 0 ? service : im_service_default [record - 1]);
set_entry_text (editor, GTK_ENTRY (name_entry), name ? name : "");
@@ -1402,7 +1434,9 @@ static void
extract_im_record (EContactEditor *editor, gint record, gint *service, gchar **name, gint *location)
{
GtkWidget *service_option_menu;
+#ifdef ENABLE_IM_LOCATION
GtkWidget *location_option_menu;
+#endif
GtkWidget *name_entry;
gchar *widget_name;
@@ -1410,9 +1444,11 @@ extract_im_record (EContactEditor *editor, gint record, gint *service, gchar **n
service_option_menu = glade_xml_get_widget (editor->gui, widget_name);
g_free (widget_name);
+#ifdef ENABLE_IM_LOCATION
widget_name = g_strdup_printf ("optionmenu-im-location-%d", record);
location_option_menu = glade_xml_get_widget (editor->gui, widget_name);
g_free (widget_name);
+#endif
widget_name = g_strdup_printf ("entry-im-name-%d", record);
name_entry = glade_xml_get_widget (editor->gui, widget_name);
@@ -1420,7 +1456,11 @@ extract_im_record (EContactEditor *editor, gint record, gint *service, gchar **n
*name = g_strdup (gtk_entry_get_text (GTK_ENTRY (name_entry)));
*service = gtk_option_menu_get_history (GTK_OPTION_MENU (service_option_menu));
+#ifdef ENABLE_IM_LOCATION
*location = gtk_option_menu_get_history (GTK_OPTION_MENU (location_option_menu));
+#else
+ *location = -1;
+#endif
}
static void
@@ -1492,7 +1532,9 @@ static void
sensitize_im_record (EContactEditor *editor, gint record, gboolean enabled)
{
GtkWidget *service_option_menu;
+#ifdef ENABLE_IM_LOCATION
GtkWidget *location_option_menu;
+#endif
GtkWidget *name_entry;
gchar *widget_name;
@@ -1500,16 +1542,20 @@ sensitize_im_record (EContactEditor *editor, gint record, gboolean enabled)
service_option_menu = glade_xml_get_widget (editor->gui, widget_name);
g_free (widget_name);
+#ifdef ENABLE_IM_LOCATION
widget_name = g_strdup_printf ("optionmenu-im-location-%d", record);
location_option_menu = glade_xml_get_widget (editor->gui, widget_name);
g_free (widget_name);
+#endif
widget_name = g_strdup_printf ("entry-im-name-%d", record);
name_entry = glade_xml_get_widget (editor->gui, widget_name);
g_free (widget_name);
gtk_widget_set_sensitive (service_option_menu, enabled);
+#ifdef ENABLE_IM_LOCATION
gtk_widget_set_sensitive (location_option_menu, enabled);
+#endif
gtk_widget_set_sensitive (name_entry, enabled);
}
@@ -1826,6 +1872,12 @@ static FieldMapping simple_field_map [] = {
{ "dateedit-anniversary", E_CONTACT_ANNIVERSARY, TRUE, TRUE },
{ "label-anniversary", E_CONTACT_ANNIVERSARY, FALSE, FALSE },
+ { "entry-spouse", E_CONTACT_SPOUSE, TRUE, TRUE },
+ { "label-spouse", E_CONTACT_SPOUSE, FALSE, FALSE },
+
+ { "entry-office", E_CONTACT_OFFICE, TRUE, TRUE },
+ { "label-office", E_CONTACT_OFFICE, FALSE, FALSE },
+
{ "text-comments", E_CONTACT_NOTE, TRUE, TRUE },
{ "label-comments", E_CONTACT_NOTE, FALSE, FALSE },
@@ -1835,6 +1887,9 @@ static FieldMapping simple_field_map [] = {
{ "entry-categories", E_CONTACT_CATEGORIES, TRUE, TRUE },
{ "button-categories", E_CONTACT_CATEGORIES, FALSE, TRUE },
+ { "entry-weblog", E_CONTACT_BLOG_URL, TRUE, TRUE },
+ { "label-weblog", E_CONTACT_BLOG_URL, FALSE, FALSE },
+
{ "entry-caluri", E_CONTACT_CALENDAR_URI, TRUE, TRUE },
{ "label-caluri", E_CONTACT_CALENDAR_URI, FALSE, FALSE },
@@ -2770,6 +2825,15 @@ setup_tab_order(GladeXML *gui)
}
static void
+expand_phone_toggle (EContactEditor *ce)
+{
+ GtkWidget *phone_ext_table;
+
+ phone_ext_table = glade_xml_get_widget (ce->gui, "table-phone-extended");
+ expand_phone (ce, GTK_WIDGET_VISIBLE (phone_ext_table) ? FALSE : TRUE);
+}
+
+static void
e_contact_editor_init (EContactEditor *e_contact_editor)
{
GladeXML *gui;
@@ -2816,6 +2880,8 @@ e_contact_editor_init (EContactEditor *e_contact_editor)
g_signal_connect (widget, "clicked", G_CALLBACK (file_cancel_cb), e_contact_editor);
widget = glade_xml_get_widget (e_contact_editor->gui, "button-help");
g_signal_connect (widget, "clicked", G_CALLBACK (show_help_cb), e_contact_editor);
+ widget = glade_xml_get_widget (e_contact_editor->gui, "button-phone-expand");
+ g_signal_connect_swapped (widget, "clicked", G_CALLBACK (expand_phone_toggle), e_contact_editor);
widget = glade_xml_get_widget (e_contact_editor->gui, "entry-fullname");
if (widget)