aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@helixcode.com>2000-01-26 08:53:50 +0800
committerChris Lahey <clahey@src.gnome.org>2000-01-26 08:53:50 +0800
commit7ffbbe3692d4bf0f8b5919939881021eb2c907fb (patch)
treec53ae2105335aca48e4fec6834e9a0bff34421db
parent3d79779ce2cc9b1c00dc3081da2264f25e652ac4 (diff)
downloadgsoc2013-evolution-7ffbbe3692d4bf0f8b5919939881021eb2c907fb.tar.gz
gsoc2013-evolution-7ffbbe3692d4bf0f8b5919939881021eb2c907fb.tar.zst
gsoc2013-evolution-7ffbbe3692d4bf0f8b5919939881021eb2c907fb.zip
Handle shift-tab properly now.
2000-01-25 Christopher James Lahey <clahey@helixcode.com> * widgets/e-reflow.c, widgets/e-minicard.c: Handle shift-tab properly now. * widgets/e-minicard-label.c: Reindented some areas. * widgets/test-reflow.c: Use e-canvas. Set the back pixmap to NULL for the canvas so that scrolling won't flash grey. * widgets/e-canvas.c, widgets/e-canvas.h: These subclass GnomeCanvas to work around a few bugs so that evolution will work well with old versions of gnome-libs. * widgets/Makefile.am: Added e-canvas.c and e-canvas.h. * addressbook/contact-editor/contact-editor.glade: Not much change. Mostly internal reorganization by glade itself. svn path=/trunk/; revision=1638
-rw-r--r--ChangeLog19
-rw-r--r--addressbook/contact-editor/contact-editor.glade785
-rw-r--r--addressbook/gui/contact-editor/contact-editor.glade785
-rw-r--r--addressbook/gui/minicard/e-minicard-label.c32
-rw-r--r--addressbook/gui/minicard/e-minicard.c4
-rw-r--r--addressbook/gui/minicard/e-reflow.c4
-rw-r--r--addressbook/gui/minicard/test-reflow.c4
-rw-r--r--addressbook/gui/widgets/e-minicard-label.c32
-rw-r--r--addressbook/gui/widgets/e-minicard.c4
-rw-r--r--addressbook/gui/widgets/test-reflow.c4
-rw-r--r--e-util/e-canvas.c233
-rw-r--r--e-util/e-canvas.h66
-rw-r--r--widgets/Makefile.am2
-rw-r--r--widgets/e-canvas.c233
-rw-r--r--widgets/e-canvas.h66
-rw-r--r--widgets/e-minicard-label.c32
-rw-r--r--widgets/e-minicard.c4
-rw-r--r--widgets/e-minicard/e-minicard-label.c32
-rw-r--r--widgets/e-minicard/e-minicard.c4
-rw-r--r--widgets/e-minicard/e-reflow.c4
-rw-r--r--widgets/e-minicard/test-reflow.c4
-rw-r--r--widgets/e-reflow.c4
-rw-r--r--widgets/e-reflow/e-reflow.c4
-rw-r--r--widgets/misc/e-canvas.c233
-rw-r--r--widgets/misc/e-canvas.h66
-rw-r--r--widgets/misc/e-reflow.c4
-rw-r--r--widgets/test-reflow.c4
27 files changed, 1805 insertions, 863 deletions
diff --git a/ChangeLog b/ChangeLog
index 73125b6094..3d547c5687 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,24 @@
2000-01-25 Christopher James Lahey <clahey@helixcode.com>
+ * widgets/e-reflow.c, widgets/e-minicard.c: Handle shift-tab
+ properly now.
+
+ * widgets/e-minicard-label.c: Reindented some areas.
+
+ * widgets/test-reflow.c: Use e-canvas. Set the back pixmap to
+ NULL for the canvas so that scrolling won't flash grey.
+
+ * widgets/e-canvas.c, widgets/e-canvas.h: These subclass
+ GnomeCanvas to work around a few bugs so that evolution will work
+ well with old versions of gnome-libs.
+
+ * widgets/Makefile.am: Added e-canvas.c and e-canvas.h.
+
+ * addressbook/contact-editor/contact-editor.glade: Not much
+ change. Mostly internal reorganization by glade itself.
+
+2000-01-25 Christopher James Lahey <clahey@helixcode.com>
+
* addressbook/printing/smallbook.ecps: Example contact printing
style. Not used yet.
diff --git a/addressbook/contact-editor/contact-editor.glade b/addressbook/contact-editor/contact-editor.glade
index 87251a6f6f..24f98decac 100644
--- a/addressbook/contact-editor/contact-editor.glade
+++ b/addressbook/contact-editor/contact-editor.glade
@@ -4,23 +4,11 @@
<project>
<name>Contact-editor</name>
<program_name>contact-editor</program_name>
- <directory></directory>
- <source_directory>src</source_directory>
- <pixmaps_directory>pixmaps</pixmaps_directory>
- <language>C</language>
- <gnome_support>True</gnome_support>
- <gettext_support>True</gettext_support>
<use_widget_names>True</use_widget_names>
<output_main_file>False</output_main_file>
<output_support_files>False</output_support_files>
<output_build_files>False</output_build_files>
<backup_source_files>False</backup_source_files>
- <main_source_file>interface.c</main_source_file>
- <main_header_file>interface.h</main_header_file>
- <handler_source_file>callbacks.c</handler_source_file>
- <handler_header_file>callbacks.h</handler_header_file>
- <support_source_file>support.c</support_source_file>
- <support_header_file>support.h</support_header_file>
<output_translatable_strings>True</output_translatable_strings>
<translatable_strings_file>e-contact-editor-strings.h</translatable_strings_file>
</project>
@@ -32,6 +20,7 @@
<title>Contact Editor</title>
<type>GTK_WINDOW_TOPLEVEL</type>
<position>GTK_WIN_POS_NONE</position>
+ <modal>False</modal>
<allow_shrink>False</allow_shrink>
<allow_grow>True</allow_grow>
<auto_shrink>False</auto_shrink>
@@ -47,7 +36,6 @@
<tab_hborder>2</tab_hborder>
<tab_vborder>2</tab_vborder>
<popup_enable>False</popup_enable>
- <num_pages>5</num_pages>
<widget>
<class>GtkTable</class>
@@ -62,6 +50,11 @@
<widget>
<class>GtkEntry</class>
<name>entry-phone1</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>7</left_attach>
<right_attach>8</right_attach>
@@ -76,16 +69,16 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry-phone2</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>7</left_attach>
<right_attach>8</right_attach>
@@ -100,16 +93,16 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry-phone3</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>7</left_attach>
<right_attach>8</right_attach>
@@ -124,16 +117,16 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry-phone4</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>7</left_attach>
<right_attach>8</right_attach>
@@ -148,16 +141,16 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry-fullname</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>3</left_attach>
<right_attach>4</right_attach>
@@ -172,16 +165,16 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry-web</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>3</left_attach>
<right_attach>4</right_attach>
@@ -196,16 +189,18 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkLabel</class>
<name>label-phone3</name>
+ <label>Business Fax</label>
+ <justify>GTK_JUSTIFY_CENTER</justify>
+ <wrap>False</wrap>
+ <xalign>0</xalign>
+ <yalign>0.5</yalign>
+ <xpad>0</xpad>
+ <ypad>0</ypad>
<child>
<left_attach>5</left_attach>
<right_attach>6</right_attach>
@@ -220,18 +215,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Business Fax</label>
+ </widget>
+
+ <widget>
+ <class>GtkLabel</class>
+ <name>label-phone2</name>
+ <label>Home</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
- </widget>
-
- <widget>
- <class>GtkLabel</class>
- <name>label-phone2</name>
<child>
<left_attach>5</left_attach>
<right_attach>6</right_attach>
@@ -246,18 +241,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Home</label>
+ </widget>
+
+ <widget>
+ <class>GtkLabel</class>
+ <name>label-phone1</name>
+ <label>Business</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
- </widget>
-
- <widget>
- <class>GtkLabel</class>
- <name>label-phone1</name>
<child>
<left_attach>5</left_attach>
<right_attach>6</right_attach>
@@ -272,18 +267,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Business</label>
- <justify>GTK_JUSTIFY_CENTER</justify>
- <wrap>False</wrap>
- <xalign>0</xalign>
- <yalign>0.5</yalign>
- <xpad>0</xpad>
- <ypad>0</ypad>
</widget>
<widget>
<class>GtkLabel</class>
<name>label-phone4</name>
+ <label>Mobile</label>
+ <justify>GTK_JUSTIFY_LEFT</justify>
+ <wrap>False</wrap>
+ <xalign>0</xalign>
+ <yalign>0.5</yalign>
+ <xpad>0</xpad>
+ <ypad>0</ypad>
<child>
<left_attach>5</left_attach>
<right_attach>6</right_attach>
@@ -298,18 +293,16 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Mobile</label>
- <justify>GTK_JUSTIFY_LEFT</justify>
- <wrap>False</wrap>
- <xalign>0</xalign>
- <yalign>0.5</yalign>
- <xpad>0</xpad>
- <ypad>0</ypad>
</widget>
<widget>
<class>GtkText</class>
<name>text-address</name>
+ <width>1</width>
+ <height>1</height>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text></text>
<child>
<left_attach>7</left_attach>
<right_attach>8</right_attach>
@@ -324,16 +317,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <width>1</width>
- <height>1</height>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text></text>
</widget>
<widget>
<class>GtkLabel</class>
<name>label-email1</name>
+ <label>Email</label>
+ <justify>GTK_JUSTIFY_CENTER</justify>
+ <wrap>False</wrap>
+ <xalign>0</xalign>
+ <yalign>0.5</yalign>
+ <xpad>0</xpad>
+ <ypad>0</ypad>
<child>
<left_attach>1</left_attach>
<right_attach>2</right_attach>
@@ -348,18 +343,13 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Email</label>
- <justify>GTK_JUSTIFY_CENTER</justify>
- <wrap>False</wrap>
- <xalign>0</xalign>
- <yalign>0.5</yalign>
- <xpad>0</xpad>
- <ypad>0</ypad>
</widget>
<widget>
<class>GtkButton</class>
<name>button-fullname</name>
+ <can_focus>True</can_focus>
+ <label> Full Name...</label>
<child>
<left_attach>1</left_attach>
<right_attach>3</right_attach>
@@ -374,13 +364,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <can_focus>True</can_focus>
- <label> Full Name...</label>
</widget>
<widget>
<class>GtkAccelLabel</class>
<name>accellabel-jobtitle</name>
+ <label>Job Title:</label>
+ <justify>GTK_JUSTIFY_CENTER</justify>
+ <wrap>False</wrap>
+ <xalign>0</xalign>
+ <yalign>0.5</yalign>
+ <xpad>0</xpad>
+ <ypad>0</ypad>
<child>
<left_attach>1</left_attach>
<right_attach>3</right_attach>
@@ -395,18 +390,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Job Title:</label>
+ </widget>
+
+ <widget>
+ <class>GtkAccelLabel</class>
+ <name>accellabel-company</name>
+ <label>Company:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
- </widget>
-
- <widget>
- <class>GtkAccelLabel</class>
- <name>accellabel-company</name>
<child>
<left_attach>1</left_attach>
<right_attach>3</right_attach>
@@ -421,18 +416,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Company:</label>
+ </widget>
+
+ <widget>
+ <class>GtkAccelLabel</class>
+ <name>accellabel-fileas</name>
+ <label>File As:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
- </widget>
-
- <widget>
- <class>GtkAccelLabel</class>
- <name>accellabel-fileas</name>
<child>
<left_attach>1</left_attach>
<right_attach>3</right_attach>
@@ -447,18 +442,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>File As:</label>
- <justify>GTK_JUSTIFY_CENTER</justify>
- <wrap>False</wrap>
- <xalign>0</xalign>
- <yalign>0.5</yalign>
- <xpad>0</xpad>
- <ypad>0</ypad>
</widget>
<widget>
<class>GtkAccelLabel</class>
<name>accellabel-web</name>
+ <label>Web page address:</label>
+ <justify>GTK_JUSTIFY_LEFT</justify>
+ <wrap>False</wrap>
+ <xalign>0</xalign>
+ <yalign>0.5</yalign>
+ <xpad>0</xpad>
+ <ypad>0</ypad>
<child>
<left_attach>1</left_attach>
<right_attach>3</right_attach>
@@ -473,18 +468,13 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Web page address:</label>
- <justify>GTK_JUSTIFY_LEFT</justify>
- <wrap>False</wrap>
- <xalign>0</xalign>
- <yalign>0.5</yalign>
- <xpad>0</xpad>
- <ypad>0</ypad>
</widget>
<widget>
<class>GtkHBox</class>
<name>hbox5</name>
+ <homogeneous>False</homogeneous>
+ <spacing>0</spacing>
<child>
<left_attach>0</left_attach>
<right_attach>8</right_attach>
@@ -499,43 +489,43 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <homogeneous>False</homogeneous>
- <spacing>0</spacing>
<widget>
<class>GtkText</class>
<name>text-comments</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text></text>
<child>
<padding>0</padding>
<expand>True</expand>
<fill>True</fill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text></text>
</widget>
<widget>
<class>GtkVScrollbar</class>
<name>vscrollbar-comments</name>
+ <policy>GTK_UPDATE_CONTINUOUS</policy>
+ <value>0</value>
+ <lower>0</lower>
+ <upper>0</upper>
+ <step>0</step>
+ <page>0</page>
+ <page_size>0</page_size>
<child>
<padding>0</padding>
<expand>False</expand>
<fill>False</fill>
</child>
- <policy>GTK_UPDATE_CONTINUOUS</policy>
- <vvalue>0</vvalue>
- <vlower>0</vlower>
- <vupper>0</vupper>
- <vstep>0</vstep>
- <vpage>0</vpage>
- <vpage_size>0</vpage_size>
</widget>
</widget>
<widget>
<class>GtkHBox</class>
<name>hbox3</name>
+ <homogeneous>False</homogeneous>
+ <spacing>6</spacing>
<child>
<left_attach>0</left_attach>
<right_attach>8</right_attach>
@@ -550,67 +540,69 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <homogeneous>False</homogeneous>
- <spacing>6</spacing>
<widget>
<class>GtkButton</class>
<name>button-contacts</name>
+ <can_focus>True</can_focus>
+ <label>Contacts...</label>
<child>
<padding>0</padding>
<expand>False</expand>
<fill>False</fill>
</child>
- <can_focus>True</can_focus>
- <label>Contacts...</label>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry-contacts</name>
- <child>
- <padding>0</padding>
- <expand>True</expand>
- <fill>True</fill>
- </child>
<can_focus>True</can_focus>
<editable>True</editable>
<text_visible>True</text_visible>
<text_max_length>0</text_max_length>
<text></text>
+ <child>
+ <padding>0</padding>
+ <expand>True</expand>
+ <fill>True</fill>
+ </child>
</widget>
<widget>
<class>GtkButton</class>
<name>button-categories</name>
+ <can_focus>True</can_focus>
+ <label>Categories...</label>
<child>
<padding>0</padding>
<expand>False</expand>
<fill>False</fill>
</child>
- <can_focus>True</can_focus>
- <label>Categories...</label>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry-categories</name>
- <child>
- <padding>0</padding>
- <expand>False</expand>
- <fill>False</fill>
- </child>
<can_focus>True</can_focus>
<editable>True</editable>
<text_visible>True</text_visible>
<text_max_length>0</text_max_length>
<text></text>
+ <child>
+ <padding>0</padding>
+ <expand>False</expand>
+ <fill>False</fill>
+ </child>
</widget>
</widget>
<widget>
<class>GtkAlignment</class>
<name>alignment2</name>
+ <xalign>0</xalign>
+ <yalign>0</yalign>
+ <xscale>0</xscale>
+ <yscale>0</yscale>
<child>
<left_attach>7</left_attach>
<right_attach>8</right_attach>
@@ -625,10 +617,6 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <xalign>0</xalign>
- <yalign>0</yalign>
- <xscale>0</xscale>
- <yscale>0</yscale>
<widget>
<class>GtkCheckButton</class>
@@ -643,6 +631,8 @@
<widget>
<class>GtkButton</class>
<name>button-address</name>
+ <can_focus>True</can_focus>
+ <label>A_ddress...</label>
<child>
<left_attach>5</left_attach>
<right_attach>7</right_attach>
@@ -657,13 +647,16 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <can_focus>True</can_focus>
- <label>A_ddress...</label>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry-jobtitle</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>3</left_attach>
<right_attach>4</right_attach>
@@ -678,16 +671,16 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry-company</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>3</left_attach>
<right_attach>4</right_attach>
@@ -702,16 +695,18 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkCombo</class>
<name>combo-fileas</name>
+ <can_focus>True</can_focus>
+ <value_in_list>False</value_in_list>
+ <ok_if_empty>True</ok_if_empty>
+ <case_sensitive>True</case_sensitive>
+ <use_arrows>True</use_arrows>
+ <use_arrows_always>False</use_arrows_always>
+ <items></items>
<child>
<left_attach>3</left_attach>
<right_attach>4</right_attach>
@@ -726,16 +721,24 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <case_sensitive>True</case_sensitive>
- <use_arrows>True</use_arrows>
- <use_arrows_always>False</use_arrows_always>
- <items></items>
+
+ <widget>
+ <class>GtkEntry</class>
+ <child_name>GtkCombo:entry</child_name>
+ <name>entry14</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
+ </widget>
</widget>
<widget>
<class>GtkHBox</class>
<name>hbox4</name>
+ <homogeneous>False</homogeneous>
+ <spacing>4</spacing>
<child>
<left_attach>3</left_attach>
<right_attach>4</right_attach>
@@ -750,22 +753,20 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <homogeneous>False</homogeneous>
- <spacing>4</spacing>
<widget>
<class>GtkEntry</class>
<name>entry-email1</name>
- <child>
- <padding>0</padding>
- <expand>True</expand>
- <fill>True</fill>
- </child>
<can_focus>True</can_focus>
<editable>True</editable>
<text_visible>True</text_visible>
<text_max_length>0</text_max_length>
<text></text>
+ <child>
+ <padding>0</padding>
+ <expand>True</expand>
+ <fill>True</fill>
+ </child>
</widget>
<widget>
@@ -786,6 +787,10 @@
<widget>
<class>GtkAlignment</class>
<name>alignment3</name>
+ <xalign>1</xalign>
+ <yalign>0.5</yalign>
+ <xscale>0</xscale>
+ <yscale>1</yscale>
<child>
<left_attach>2</left_attach>
<right_attach>3</right_attach>
@@ -800,10 +805,6 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <xalign>1</xalign>
- <yalign>0.5</yalign>
- <xscale>0</xscale>
- <yscale>1</yscale>
<widget>
<class>GtkButton</class>
@@ -819,6 +820,10 @@
<widget>
<class>GtkAlignment</class>
<name>alignment4</name>
+ <xalign>1</xalign>
+ <yalign>0.5</yalign>
+ <xscale>0</xscale>
+ <yscale>1</yscale>
<child>
<left_attach>6</left_attach>
<right_attach>7</right_attach>
@@ -833,10 +838,6 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <xalign>1</xalign>
- <yalign>0.5</yalign>
- <xscale>0</xscale>
- <yscale>1</yscale>
<widget>
<class>GtkButton</class>
@@ -852,6 +853,10 @@
<widget>
<class>GtkAlignment</class>
<name>alignment5</name>
+ <xalign>1</xalign>
+ <yalign>0.5</yalign>
+ <xscale>0</xscale>
+ <yscale>0</yscale>
<child>
<left_attach>6</left_attach>
<right_attach>7</right_attach>
@@ -866,10 +871,6 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <xalign>1</xalign>
- <yalign>0.5</yalign>
- <xscale>0</xscale>
- <yscale>0</yscale>
<widget>
<class>GtkButton</class>
@@ -885,6 +886,10 @@
<widget>
<class>GtkAlignment</class>
<name>alignment7</name>
+ <xalign>1</xalign>
+ <yalign>0.5</yalign>
+ <xscale>0</xscale>
+ <yscale>0</yscale>
<child>
<left_attach>6</left_attach>
<right_attach>7</right_attach>
@@ -899,10 +904,6 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <xalign>1</xalign>
- <yalign>0.5</yalign>
- <xscale>0</xscale>
- <yscale>0</yscale>
<widget>
<class>GtkButton</class>
@@ -918,6 +919,10 @@
<widget>
<class>GtkAlignment</class>
<name>alignment8</name>
+ <xalign>1</xalign>
+ <yalign>0.5</yalign>
+ <xscale>0</xscale>
+ <yscale>0</yscale>
<child>
<left_attach>6</left_attach>
<right_attach>7</right_attach>
@@ -932,10 +937,6 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <xalign>1</xalign>
- <yalign>0.5</yalign>
- <xscale>0</xscale>
- <yscale>0</yscale>
<widget>
<class>GtkButton</class>
@@ -951,6 +952,13 @@
<widget>
<class>GtkLabel</class>
<name>label-address1</name>
+ <label>Business</label>
+ <justify>GTK_JUSTIFY_CENTER</justify>
+ <wrap>False</wrap>
+ <xalign>0</xalign>
+ <yalign>0.5</yalign>
+ <xpad>0</xpad>
+ <ypad>0</ypad>
<child>
<left_attach>5</left_attach>
<right_attach>6</right_attach>
@@ -965,13 +973,6 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Business</label>
- <justify>GTK_JUSTIFY_CENTER</justify>
- <wrap>False</wrap>
- <xalign>0</xalign>
- <yalign>0.5</yalign>
- <xpad>0</xpad>
- <ypad>0</ypad>
</widget>
<widget>
@@ -1034,6 +1035,10 @@
<widget>
<class>GtkAlignment</class>
<name>alignment6</name>
+ <xalign>1</xalign>
+ <yalign>0.5</yalign>
+ <xscale>0</xscale>
+ <yscale>0</yscale>
<child>
<left_attach>6</left_attach>
<right_attach>7</right_attach>
@@ -1048,10 +1053,6 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <xalign>1</xalign>
- <yalign>0.5</yalign>
- <xscale>0</xscale>
- <yscale>0</yscale>
<widget>
<class>GtkButton</class>
@@ -1091,6 +1092,13 @@
<widget>
<class>GtkLabel</class>
<name>label21</name>
+ <label>Department:</label>
+ <justify>GTK_JUSTIFY_CENTER</justify>
+ <wrap>False</wrap>
+ <xalign>0</xalign>
+ <yalign>0.5</yalign>
+ <xpad>0</xpad>
+ <ypad>0</ypad>
<child>
<left_attach>1</left_attach>
<right_attach>2</right_attach>
@@ -1105,18 +1113,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Department:</label>
+ </widget>
+
+ <widget>
+ <class>GtkLabel</class>
+ <name>label22</name>
+ <label>Office:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
- </widget>
-
- <widget>
- <class>GtkLabel</class>
- <name>label22</name>
<child>
<left_attach>1</left_attach>
<right_attach>2</right_attach>
@@ -1131,18 +1139,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Office:</label>
+ </widget>
+
+ <widget>
+ <class>GtkLabel</class>
+ <name>label23</name>
+ <label>Profession:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
- </widget>
-
- <widget>
- <class>GtkLabel</class>
- <name>label23</name>
<child>
<left_attach>1</left_attach>
<right_attach>2</right_attach>
@@ -1157,18 +1165,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Profession:</label>
+ </widget>
+
+ <widget>
+ <class>GtkLabel</class>
+ <name>label24</name>
+ <label>Nickname:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
- </widget>
-
- <widget>
- <class>GtkLabel</class>
- <name>label24</name>
<child>
<left_attach>1</left_attach>
<right_attach>2</right_attach>
@@ -1183,18 +1191,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Nickname:</label>
+ </widget>
+
+ <widget>
+ <class>GtkLabel</class>
+ <name>label25</name>
+ <label>Spouse's name:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
- </widget>
-
- <widget>
- <class>GtkLabel</class>
- <name>label25</name>
<child>
<left_attach>1</left_attach>
<right_attach>2</right_attach>
@@ -1209,18 +1217,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Spouse's name:</label>
+ </widget>
+
+ <widget>
+ <class>GtkLabel</class>
+ <name>label26</name>
+ <label>Directory Server:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
- </widget>
-
- <widget>
- <class>GtkLabel</class>
- <name>label26</name>
<child>
<left_attach>1</left_attach>
<right_attach>2</right_attach>
@@ -1235,18 +1243,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Directory Server:</label>
+ </widget>
+
+ <widget>
+ <class>GtkLabel</class>
+ <name>label27</name>
+ <label>Email alias:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
- </widget>
-
- <widget>
- <class>GtkLabel</class>
- <name>label27</name>
<child>
<left_attach>1</left_attach>
<right_attach>2</right_attach>
@@ -1261,18 +1269,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Email alias:</label>
+ </widget>
+
+ <widget>
+ <class>GtkLabel</class>
+ <name>label28</name>
+ <label>Address:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
- </widget>
-
- <widget>
- <class>GtkLabel</class>
- <name>label28</name>
<child>
<left_attach>1</left_attach>
<right_attach>2</right_attach>
@@ -1287,18 +1295,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Address:</label>
+ </widget>
+
+ <widget>
+ <class>GtkLabel</class>
+ <name>label31</name>
+ <label>Birthday:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
- </widget>
-
- <widget>
- <class>GtkLabel</class>
- <name>label31</name>
<child>
<left_attach>3</left_attach>
<right_attach>4</right_attach>
@@ -1313,18 +1321,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Birthday:</label>
+ </widget>
+
+ <widget>
+ <class>GtkLabel</class>
+ <name>label30</name>
+ <label>Assistant's name:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
- </widget>
-
- <widget>
- <class>GtkLabel</class>
- <name>label30</name>
<child>
<left_attach>3</left_attach>
<right_attach>4</right_attach>
@@ -1339,18 +1347,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Assistant's name:</label>
+ </widget>
+
+ <widget>
+ <class>GtkLabel</class>
+ <name>label29</name>
+ <label>Manager's name:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
- </widget>
-
- <widget>
- <class>GtkLabel</class>
- <name>label29</name>
<child>
<left_attach>3</left_attach>
<right_attach>4</right_attach>
@@ -1365,18 +1373,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Manager's name:</label>
+ </widget>
+
+ <widget>
+ <class>GtkLabel</class>
+ <name>label32</name>
+ <label>Anniversary:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
- </widget>
-
- <widget>
- <class>GtkLabel</class>
- <name>label32</name>
<child>
<left_attach>3</left_attach>
<right_attach>4</right_attach>
@@ -1391,18 +1399,16 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Anniversary:</label>
- <justify>GTK_JUSTIFY_CENTER</justify>
- <wrap>False</wrap>
- <xalign>0</xalign>
- <yalign>0.5</yalign>
- <xpad>0</xpad>
- <ypad>0</ypad>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry4</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>2</left_attach>
<right_attach>3</right_attach>
@@ -1417,16 +1423,16 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry5</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>2</left_attach>
<right_attach>3</right_attach>
@@ -1441,16 +1447,16 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry6</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>2</left_attach>
<right_attach>3</right_attach>
@@ -1465,16 +1471,16 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry7</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>2</left_attach>
<right_attach>3</right_attach>
@@ -1489,16 +1495,16 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry8</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>2</left_attach>
<right_attach>3</right_attach>
@@ -1513,16 +1519,16 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry9</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>2</left_attach>
<right_attach>6</right_attach>
@@ -1537,16 +1543,16 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry10</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>2</left_attach>
<right_attach>5</right_attach>
@@ -1561,16 +1567,16 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry11</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>2</left_attach>
<right_attach>6</right_attach>
@@ -1585,16 +1591,16 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GnomeDateEdit</class>
<name>dateedit2</name>
+ <show_time>False</show_time>
+ <use_24_format>False</use_24_format>
+ <week_start_monday>False</week_start_monday>
+ <lower_hour>7</lower_hour>
+ <upper_hour>19</upper_hour>
<child>
<left_attach>4</left_attach>
<right_attach>6</right_attach>
@@ -1609,16 +1615,16 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <show_time>False</show_time>
- <use_24_format>False</use_24_format>
- <week_start_monday>False</week_start_monday>
- <lower_hour>7</lower_hour>
- <upper_hour>19</upper_hour>
</widget>
<widget>
<class>GnomeDateEdit</class>
<name>dateedit1</name>
+ <show_time>False</show_time>
+ <use_24_format>False</use_24_format>
+ <week_start_monday>False</week_start_monday>
+ <lower_hour>7</lower_hour>
+ <upper_hour>19</upper_hour>
<child>
<left_attach>4</left_attach>
<right_attach>6</right_attach>
@@ -1633,16 +1639,16 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <show_time>False</show_time>
- <use_24_format>False</use_24_format>
- <week_start_monday>False</week_start_monday>
- <lower_hour>7</lower_hour>
- <upper_hour>19</upper_hour>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry13</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>4</left_attach>
<right_attach>6</right_attach>
@@ -1657,16 +1663,16 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry12</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>4</left_attach>
<right_attach>6</right_attach>
@@ -1681,16 +1687,13 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkButton</class>
<name>button-callnow</name>
+ <can_focus>True</can_focus>
+ <label>Call Now</label>
<child>
<left_attach>5</left_attach>
<right_attach>6</right_attach>
@@ -1705,13 +1708,13 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <can_focus>True</can_focus>
- <label>Call Now</label>
</widget>
<widget>
<class>GtkHBox</class>
<name>hbox7</name>
+ <homogeneous>False</homogeneous>
+ <spacing>6</spacing>
<child>
<left_attach>0</left_attach>
<right_attach>6</right_attach>
@@ -1726,17 +1729,10 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <homogeneous>False</homogeneous>
- <spacing>6</spacing>
<widget>
<class>GtkLabel</class>
<name>label33</name>
- <child>
- <padding>0</padding>
- <expand>False</expand>
- <fill>False</fill>
- </child>
<label>Internet Free-Busy</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
@@ -1744,6 +1740,11 @@
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>2</ypad>
+ <child>
+ <padding>0</padding>
+ <expand>False</expand>
+ <fill>False</fill>
+ </child>
</widget>
<widget>
@@ -1760,6 +1761,8 @@
<widget>
<class>GtkHBox</class>
<name>hbox8</name>
+ <homogeneous>False</homogeneous>
+ <spacing>6</spacing>
<child>
<left_attach>0</left_attach>
<right_attach>6</right_attach>
@@ -1774,17 +1777,10 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <homogeneous>False</homogeneous>
- <spacing>6</spacing>
<widget>
<class>GtkLabel</class>
<name>label34</name>
- <child>
- <padding>0</padding>
- <expand>False</expand>
- <fill>False</fill>
- </child>
<label>Online NetMeeting settings</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
@@ -1792,6 +1788,11 @@
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>2</ypad>
+ <child>
+ <padding>0</padding>
+ <expand>False</expand>
+ <fill>False</fill>
+ </child>
</widget>
<widget>
@@ -1907,41 +1908,49 @@
<class>GnomeDialog</class>
<name>dialog2</name>
<visible>False</visible>
- <auto_close>False</auto_close>
- <hide_on_close>False</hide_on_close>
+ <type>GTK_WINDOW_TOPLEVEL</type>
+ <position>GTK_WIN_POS_NONE</position>
+ <modal>False</modal>
<allow_shrink>False</allow_shrink>
<allow_grow>False</allow_grow>
<auto_shrink>False</auto_shrink>
+ <auto_close>False</auto_close>
+ <hide_on_close>False</hide_on_close>
<widget>
<class>GtkVBox</class>
<child_name>GnomeDialog:vbox</child_name>
<name>dialog-vbox2</name>
+ <homogeneous>False</homogeneous>
+ <spacing>8</spacing>
<child>
<padding>4</padding>
<expand>True</expand>
<fill>True</fill>
</child>
- <homogeneous>False</homogeneous>
- <spacing>8</spacing>
<widget>
<class>GtkTable</class>
<name>table2</name>
- <child>
- <padding>0</padding>
- <expand>True</expand>
- <fill>True</fill>
- </child>
<rows>2</rows>
<columns>2</columns>
<homogeneous>False</homogeneous>
<row_spacing>0</row_spacing>
<column_spacing>0</column_spacing>
+ <child>
+ <padding>0</padding>
+ <expand>True</expand>
+ <fill>True</fill>
+ </child>
<widget>
<class>GtkEntry</class>
<name>entry2</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>0</left_attach>
<right_attach>2</right_attach>
@@ -1956,16 +1965,13 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkVBox</class>
<name>vbox1</name>
+ <homogeneous>False</homogeneous>
+ <spacing>0</spacing>
<child>
<left_attach>1</left_attach>
<right_attach>2</right_attach>
@@ -1980,37 +1986,40 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <homogeneous>False</homogeneous>
- <spacing>0</spacing>
<widget>
<class>GtkButton</class>
<name>button31</name>
+ <can_focus>True</can_focus>
+ <label>Add</label>
<child>
<padding>0</padding>
<expand>False</expand>
<fill>False</fill>
</child>
- <can_focus>True</can_focus>
- <label>Add</label>
</widget>
<widget>
<class>GtkButton</class>
<name>button32</name>
+ <can_focus>True</can_focus>
+ <label>Delete</label>
<child>
<padding>0</padding>
<expand>False</expand>
<fill>False</fill>
</child>
- <can_focus>True</can_focus>
- <label>Delete</label>
</widget>
</widget>
<widget>
<class>GtkScrolledWindow</class>
<name>scrolledwindow1</name>
+ <height>200</height>
+ <hscrollbar_policy>GTK_POLICY_ALWAYS</hscrollbar_policy>
+ <vscrollbar_policy>GTK_POLICY_ALWAYS</vscrollbar_policy>
+ <hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy>
+ <vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy>
<child>
<left_attach>0</left_attach>
<right_attach>1</right_attach>
@@ -2025,11 +2034,6 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <height>200</height>
- <hscrollbar_policy>GTK_POLICY_ALWAYS</hscrollbar_policy>
- <vscrollbar_policy>GTK_POLICY_ALWAYS</vscrollbar_policy>
- <hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy>
- <vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy>
<widget>
<class>GtkCList</class>
@@ -2061,18 +2065,18 @@
<class>GtkHButtonBox</class>
<child_name>GnomeDialog:action_area</child_name>
<name>dialog-action_area2</name>
- <child>
- <padding>0</padding>
- <expand>False</expand>
- <fill>True</fill>
- <pack>GTK_PACK_END</pack>
- </child>
<layout_style>GTK_BUTTONBOX_END</layout_style>
<spacing>8</spacing>
<child_min_width>85</child_min_width>
<child_min_height>27</child_min_height>
<child_ipad_x>7</child_ipad_x>
<child_ipad_y>0</child_ipad_y>
+ <child>
+ <padding>0</padding>
+ <expand>False</expand>
+ <fill>True</fill>
+ <pack>GTK_PACK_END</pack>
+ </child>
<widget>
<class>GtkButton</class>
@@ -2106,36 +2110,39 @@
<name>dialog-add-phone</name>
<visible>False</visible>
<title>New phone type</title>
- <auto_close>False</auto_close>
- <hide_on_close>False</hide_on_close>
+ <type>GTK_WINDOW_TOPLEVEL</type>
+ <position>GTK_WIN_POS_NONE</position>
+ <modal>False</modal>
<allow_shrink>False</allow_shrink>
<allow_grow>False</allow_grow>
<auto_shrink>False</auto_shrink>
+ <auto_close>False</auto_close>
+ <hide_on_close>False</hide_on_close>
<widget>
<class>GtkVBox</class>
<child_name>GnomeDialog:vbox</child_name>
<name>vbox2</name>
+ <homogeneous>False</homogeneous>
+ <spacing>8</spacing>
<child>
<padding>4</padding>
<expand>True</expand>
<fill>True</fill>
</child>
- <homogeneous>False</homogeneous>
- <spacing>8</spacing>
<widget>
<class>GtkFrame</class>
<name>frame-add-phone</name>
<border_width>4</border_width>
+ <label>New phone type</label>
+ <label_xalign>0</label_xalign>
+ <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
<child>
<padding>0</padding>
<expand>True</expand>
<fill>True</fill>
</child>
- <label>New phone type</label>
- <label_xalign>0</label_xalign>
- <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
<widget>
<class>GtkAlignment</class>
@@ -2162,18 +2169,18 @@
<class>GtkHButtonBox</class>
<child_name>GnomeDialog:action_area</child_name>
<name>hbuttonbox1</name>
- <child>
- <padding>0</padding>
- <expand>False</expand>
- <fill>True</fill>
- <pack>GTK_PACK_END</pack>
- </child>
<layout_style>GTK_BUTTONBOX_END</layout_style>
<spacing>8</spacing>
<child_min_width>85</child_min_width>
<child_min_height>27</child_min_height>
<child_ipad_x>7</child_ipad_x>
<child_ipad_y>0</child_ipad_y>
+ <child>
+ <padding>0</padding>
+ <expand>False</expand>
+ <fill>True</fill>
+ <pack>GTK_PACK_END</pack>
+ </child>
<widget>
<class>GtkButton</class>
diff --git a/addressbook/gui/contact-editor/contact-editor.glade b/addressbook/gui/contact-editor/contact-editor.glade
index 87251a6f6f..24f98decac 100644
--- a/addressbook/gui/contact-editor/contact-editor.glade
+++ b/addressbook/gui/contact-editor/contact-editor.glade
@@ -4,23 +4,11 @@
<project>
<name>Contact-editor</name>
<program_name>contact-editor</program_name>
- <directory></directory>
- <source_directory>src</source_directory>
- <pixmaps_directory>pixmaps</pixmaps_directory>
- <language>C</language>
- <gnome_support>True</gnome_support>
- <gettext_support>True</gettext_support>
<use_widget_names>True</use_widget_names>
<output_main_file>False</output_main_file>
<output_support_files>False</output_support_files>
<output_build_files>False</output_build_files>
<backup_source_files>False</backup_source_files>
- <main_source_file>interface.c</main_source_file>
- <main_header_file>interface.h</main_header_file>
- <handler_source_file>callbacks.c</handler_source_file>
- <handler_header_file>callbacks.h</handler_header_file>
- <support_source_file>support.c</support_source_file>
- <support_header_file>support.h</support_header_file>
<output_translatable_strings>True</output_translatable_strings>
<translatable_strings_file>e-contact-editor-strings.h</translatable_strings_file>
</project>
@@ -32,6 +20,7 @@
<title>Contact Editor</title>
<type>GTK_WINDOW_TOPLEVEL</type>
<position>GTK_WIN_POS_NONE</position>
+ <modal>False</modal>
<allow_shrink>False</allow_shrink>
<allow_grow>True</allow_grow>
<auto_shrink>False</auto_shrink>
@@ -47,7 +36,6 @@
<tab_hborder>2</tab_hborder>
<tab_vborder>2</tab_vborder>
<popup_enable>False</popup_enable>
- <num_pages>5</num_pages>
<widget>
<class>GtkTable</class>
@@ -62,6 +50,11 @@
<widget>
<class>GtkEntry</class>
<name>entry-phone1</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>7</left_attach>
<right_attach>8</right_attach>
@@ -76,16 +69,16 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry-phone2</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>7</left_attach>
<right_attach>8</right_attach>
@@ -100,16 +93,16 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry-phone3</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>7</left_attach>
<right_attach>8</right_attach>
@@ -124,16 +117,16 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry-phone4</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>7</left_attach>
<right_attach>8</right_attach>
@@ -148,16 +141,16 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry-fullname</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>3</left_attach>
<right_attach>4</right_attach>
@@ -172,16 +165,16 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry-web</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>3</left_attach>
<right_attach>4</right_attach>
@@ -196,16 +189,18 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkLabel</class>
<name>label-phone3</name>
+ <label>Business Fax</label>
+ <justify>GTK_JUSTIFY_CENTER</justify>
+ <wrap>False</wrap>
+ <xalign>0</xalign>
+ <yalign>0.5</yalign>
+ <xpad>0</xpad>
+ <ypad>0</ypad>
<child>
<left_attach>5</left_attach>
<right_attach>6</right_attach>
@@ -220,18 +215,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Business Fax</label>
+ </widget>
+
+ <widget>
+ <class>GtkLabel</class>
+ <name>label-phone2</name>
+ <label>Home</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
- </widget>
-
- <widget>
- <class>GtkLabel</class>
- <name>label-phone2</name>
<child>
<left_attach>5</left_attach>
<right_attach>6</right_attach>
@@ -246,18 +241,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Home</label>
+ </widget>
+
+ <widget>
+ <class>GtkLabel</class>
+ <name>label-phone1</name>
+ <label>Business</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
- </widget>
-
- <widget>
- <class>GtkLabel</class>
- <name>label-phone1</name>
<child>
<left_attach>5</left_attach>
<right_attach>6</right_attach>
@@ -272,18 +267,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Business</label>
- <justify>GTK_JUSTIFY_CENTER</justify>
- <wrap>False</wrap>
- <xalign>0</xalign>
- <yalign>0.5</yalign>
- <xpad>0</xpad>
- <ypad>0</ypad>
</widget>
<widget>
<class>GtkLabel</class>
<name>label-phone4</name>
+ <label>Mobile</label>
+ <justify>GTK_JUSTIFY_LEFT</justify>
+ <wrap>False</wrap>
+ <xalign>0</xalign>
+ <yalign>0.5</yalign>
+ <xpad>0</xpad>
+ <ypad>0</ypad>
<child>
<left_attach>5</left_attach>
<right_attach>6</right_attach>
@@ -298,18 +293,16 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Mobile</label>
- <justify>GTK_JUSTIFY_LEFT</justify>
- <wrap>False</wrap>
- <xalign>0</xalign>
- <yalign>0.5</yalign>
- <xpad>0</xpad>
- <ypad>0</ypad>
</widget>
<widget>
<class>GtkText</class>
<name>text-address</name>
+ <width>1</width>
+ <height>1</height>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text></text>
<child>
<left_attach>7</left_attach>
<right_attach>8</right_attach>
@@ -324,16 +317,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <width>1</width>
- <height>1</height>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text></text>
</widget>
<widget>
<class>GtkLabel</class>
<name>label-email1</name>
+ <label>Email</label>
+ <justify>GTK_JUSTIFY_CENTER</justify>
+ <wrap>False</wrap>
+ <xalign>0</xalign>
+ <yalign>0.5</yalign>
+ <xpad>0</xpad>
+ <ypad>0</ypad>
<child>
<left_attach>1</left_attach>
<right_attach>2</right_attach>
@@ -348,18 +343,13 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Email</label>
- <justify>GTK_JUSTIFY_CENTER</justify>
- <wrap>False</wrap>
- <xalign>0</xalign>
- <yalign>0.5</yalign>
- <xpad>0</xpad>
- <ypad>0</ypad>
</widget>
<widget>
<class>GtkButton</class>
<name>button-fullname</name>
+ <can_focus>True</can_focus>
+ <label> Full Name...</label>
<child>
<left_attach>1</left_attach>
<right_attach>3</right_attach>
@@ -374,13 +364,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <can_focus>True</can_focus>
- <label> Full Name...</label>
</widget>
<widget>
<class>GtkAccelLabel</class>
<name>accellabel-jobtitle</name>
+ <label>Job Title:</label>
+ <justify>GTK_JUSTIFY_CENTER</justify>
+ <wrap>False</wrap>
+ <xalign>0</xalign>
+ <yalign>0.5</yalign>
+ <xpad>0</xpad>
+ <ypad>0</ypad>
<child>
<left_attach>1</left_attach>
<right_attach>3</right_attach>
@@ -395,18 +390,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Job Title:</label>
+ </widget>
+
+ <widget>
+ <class>GtkAccelLabel</class>
+ <name>accellabel-company</name>
+ <label>Company:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
- </widget>
-
- <widget>
- <class>GtkAccelLabel</class>
- <name>accellabel-company</name>
<child>
<left_attach>1</left_attach>
<right_attach>3</right_attach>
@@ -421,18 +416,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Company:</label>
+ </widget>
+
+ <widget>
+ <class>GtkAccelLabel</class>
+ <name>accellabel-fileas</name>
+ <label>File As:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
- </widget>
-
- <widget>
- <class>GtkAccelLabel</class>
- <name>accellabel-fileas</name>
<child>
<left_attach>1</left_attach>
<right_attach>3</right_attach>
@@ -447,18 +442,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>File As:</label>
- <justify>GTK_JUSTIFY_CENTER</justify>
- <wrap>False</wrap>
- <xalign>0</xalign>
- <yalign>0.5</yalign>
- <xpad>0</xpad>
- <ypad>0</ypad>
</widget>
<widget>
<class>GtkAccelLabel</class>
<name>accellabel-web</name>
+ <label>Web page address:</label>
+ <justify>GTK_JUSTIFY_LEFT</justify>
+ <wrap>False</wrap>
+ <xalign>0</xalign>
+ <yalign>0.5</yalign>
+ <xpad>0</xpad>
+ <ypad>0</ypad>
<child>
<left_attach>1</left_attach>
<right_attach>3</right_attach>
@@ -473,18 +468,13 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Web page address:</label>
- <justify>GTK_JUSTIFY_LEFT</justify>
- <wrap>False</wrap>
- <xalign>0</xalign>
- <yalign>0.5</yalign>
- <xpad>0</xpad>
- <ypad>0</ypad>
</widget>
<widget>
<class>GtkHBox</class>
<name>hbox5</name>
+ <homogeneous>False</homogeneous>
+ <spacing>0</spacing>
<child>
<left_attach>0</left_attach>
<right_attach>8</right_attach>
@@ -499,43 +489,43 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <homogeneous>False</homogeneous>
- <spacing>0</spacing>
<widget>
<class>GtkText</class>
<name>text-comments</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text></text>
<child>
<padding>0</padding>
<expand>True</expand>
<fill>True</fill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text></text>
</widget>
<widget>
<class>GtkVScrollbar</class>
<name>vscrollbar-comments</name>
+ <policy>GTK_UPDATE_CONTINUOUS</policy>
+ <value>0</value>
+ <lower>0</lower>
+ <upper>0</upper>
+ <step>0</step>
+ <page>0</page>
+ <page_size>0</page_size>
<child>
<padding>0</padding>
<expand>False</expand>
<fill>False</fill>
</child>
- <policy>GTK_UPDATE_CONTINUOUS</policy>
- <vvalue>0</vvalue>
- <vlower>0</vlower>
- <vupper>0</vupper>
- <vstep>0</vstep>
- <vpage>0</vpage>
- <vpage_size>0</vpage_size>
</widget>
</widget>
<widget>
<class>GtkHBox</class>
<name>hbox3</name>
+ <homogeneous>False</homogeneous>
+ <spacing>6</spacing>
<child>
<left_attach>0</left_attach>
<right_attach>8</right_attach>
@@ -550,67 +540,69 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <homogeneous>False</homogeneous>
- <spacing>6</spacing>
<widget>
<class>GtkButton</class>
<name>button-contacts</name>
+ <can_focus>True</can_focus>
+ <label>Contacts...</label>
<child>
<padding>0</padding>
<expand>False</expand>
<fill>False</fill>
</child>
- <can_focus>True</can_focus>
- <label>Contacts...</label>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry-contacts</name>
- <child>
- <padding>0</padding>
- <expand>True</expand>
- <fill>True</fill>
- </child>
<can_focus>True</can_focus>
<editable>True</editable>
<text_visible>True</text_visible>
<text_max_length>0</text_max_length>
<text></text>
+ <child>
+ <padding>0</padding>
+ <expand>True</expand>
+ <fill>True</fill>
+ </child>
</widget>
<widget>
<class>GtkButton</class>
<name>button-categories</name>
+ <can_focus>True</can_focus>
+ <label>Categories...</label>
<child>
<padding>0</padding>
<expand>False</expand>
<fill>False</fill>
</child>
- <can_focus>True</can_focus>
- <label>Categories...</label>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry-categories</name>
- <child>
- <padding>0</padding>
- <expand>False</expand>
- <fill>False</fill>
- </child>
<can_focus>True</can_focus>
<editable>True</editable>
<text_visible>True</text_visible>
<text_max_length>0</text_max_length>
<text></text>
+ <child>
+ <padding>0</padding>
+ <expand>False</expand>
+ <fill>False</fill>
+ </child>
</widget>
</widget>
<widget>
<class>GtkAlignment</class>
<name>alignment2</name>
+ <xalign>0</xalign>
+ <yalign>0</yalign>
+ <xscale>0</xscale>
+ <yscale>0</yscale>
<child>
<left_attach>7</left_attach>
<right_attach>8</right_attach>
@@ -625,10 +617,6 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <xalign>0</xalign>
- <yalign>0</yalign>
- <xscale>0</xscale>
- <yscale>0</yscale>
<widget>
<class>GtkCheckButton</class>
@@ -643,6 +631,8 @@
<widget>
<class>GtkButton</class>
<name>button-address</name>
+ <can_focus>True</can_focus>
+ <label>A_ddress...</label>
<child>
<left_attach>5</left_attach>
<right_attach>7</right_attach>
@@ -657,13 +647,16 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <can_focus>True</can_focus>
- <label>A_ddress...</label>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry-jobtitle</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>3</left_attach>
<right_attach>4</right_attach>
@@ -678,16 +671,16 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry-company</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>3</left_attach>
<right_attach>4</right_attach>
@@ -702,16 +695,18 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkCombo</class>
<name>combo-fileas</name>
+ <can_focus>True</can_focus>
+ <value_in_list>False</value_in_list>
+ <ok_if_empty>True</ok_if_empty>
+ <case_sensitive>True</case_sensitive>
+ <use_arrows>True</use_arrows>
+ <use_arrows_always>False</use_arrows_always>
+ <items></items>
<child>
<left_attach>3</left_attach>
<right_attach>4</right_attach>
@@ -726,16 +721,24 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <case_sensitive>True</case_sensitive>
- <use_arrows>True</use_arrows>
- <use_arrows_always>False</use_arrows_always>
- <items></items>
+
+ <widget>
+ <class>GtkEntry</class>
+ <child_name>GtkCombo:entry</child_name>
+ <name>entry14</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
+ </widget>
</widget>
<widget>
<class>GtkHBox</class>
<name>hbox4</name>
+ <homogeneous>False</homogeneous>
+ <spacing>4</spacing>
<child>
<left_attach>3</left_attach>
<right_attach>4</right_attach>
@@ -750,22 +753,20 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <homogeneous>False</homogeneous>
- <spacing>4</spacing>
<widget>
<class>GtkEntry</class>
<name>entry-email1</name>
- <child>
- <padding>0</padding>
- <expand>True</expand>
- <fill>True</fill>
- </child>
<can_focus>True</can_focus>
<editable>True</editable>
<text_visible>True</text_visible>
<text_max_length>0</text_max_length>
<text></text>
+ <child>
+ <padding>0</padding>
+ <expand>True</expand>
+ <fill>True</fill>
+ </child>
</widget>
<widget>
@@ -786,6 +787,10 @@
<widget>
<class>GtkAlignment</class>
<name>alignment3</name>
+ <xalign>1</xalign>
+ <yalign>0.5</yalign>
+ <xscale>0</xscale>
+ <yscale>1</yscale>
<child>
<left_attach>2</left_attach>
<right_attach>3</right_attach>
@@ -800,10 +805,6 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <xalign>1</xalign>
- <yalign>0.5</yalign>
- <xscale>0</xscale>
- <yscale>1</yscale>
<widget>
<class>GtkButton</class>
@@ -819,6 +820,10 @@
<widget>
<class>GtkAlignment</class>
<name>alignment4</name>
+ <xalign>1</xalign>
+ <yalign>0.5</yalign>
+ <xscale>0</xscale>
+ <yscale>1</yscale>
<child>
<left_attach>6</left_attach>
<right_attach>7</right_attach>
@@ -833,10 +838,6 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <xalign>1</xalign>
- <yalign>0.5</yalign>
- <xscale>0</xscale>
- <yscale>1</yscale>
<widget>
<class>GtkButton</class>
@@ -852,6 +853,10 @@
<widget>
<class>GtkAlignment</class>
<name>alignment5</name>
+ <xalign>1</xalign>
+ <yalign>0.5</yalign>
+ <xscale>0</xscale>
+ <yscale>0</yscale>
<child>
<left_attach>6</left_attach>
<right_attach>7</right_attach>
@@ -866,10 +871,6 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <xalign>1</xalign>
- <yalign>0.5</yalign>
- <xscale>0</xscale>
- <yscale>0</yscale>
<widget>
<class>GtkButton</class>
@@ -885,6 +886,10 @@
<widget>
<class>GtkAlignment</class>
<name>alignment7</name>
+ <xalign>1</xalign>
+ <yalign>0.5</yalign>
+ <xscale>0</xscale>
+ <yscale>0</yscale>
<child>
<left_attach>6</left_attach>
<right_attach>7</right_attach>
@@ -899,10 +904,6 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <xalign>1</xalign>
- <yalign>0.5</yalign>
- <xscale>0</xscale>
- <yscale>0</yscale>
<widget>
<class>GtkButton</class>
@@ -918,6 +919,10 @@
<widget>
<class>GtkAlignment</class>
<name>alignment8</name>
+ <xalign>1</xalign>
+ <yalign>0.5</yalign>
+ <xscale>0</xscale>
+ <yscale>0</yscale>
<child>
<left_attach>6</left_attach>
<right_attach>7</right_attach>
@@ -932,10 +937,6 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <xalign>1</xalign>
- <yalign>0.5</yalign>
- <xscale>0</xscale>
- <yscale>0</yscale>
<widget>
<class>GtkButton</class>
@@ -951,6 +952,13 @@
<widget>
<class>GtkLabel</class>
<name>label-address1</name>
+ <label>Business</label>
+ <justify>GTK_JUSTIFY_CENTER</justify>
+ <wrap>False</wrap>
+ <xalign>0</xalign>
+ <yalign>0.5</yalign>
+ <xpad>0</xpad>
+ <ypad>0</ypad>
<child>
<left_attach>5</left_attach>
<right_attach>6</right_attach>
@@ -965,13 +973,6 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Business</label>
- <justify>GTK_JUSTIFY_CENTER</justify>
- <wrap>False</wrap>
- <xalign>0</xalign>
- <yalign>0.5</yalign>
- <xpad>0</xpad>
- <ypad>0</ypad>
</widget>
<widget>
@@ -1034,6 +1035,10 @@
<widget>
<class>GtkAlignment</class>
<name>alignment6</name>
+ <xalign>1</xalign>
+ <yalign>0.5</yalign>
+ <xscale>0</xscale>
+ <yscale>0</yscale>
<child>
<left_attach>6</left_attach>
<right_attach>7</right_attach>
@@ -1048,10 +1053,6 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <xalign>1</xalign>
- <yalign>0.5</yalign>
- <xscale>0</xscale>
- <yscale>0</yscale>
<widget>
<class>GtkButton</class>
@@ -1091,6 +1092,13 @@
<widget>
<class>GtkLabel</class>
<name>label21</name>
+ <label>Department:</label>
+ <justify>GTK_JUSTIFY_CENTER</justify>
+ <wrap>False</wrap>
+ <xalign>0</xalign>
+ <yalign>0.5</yalign>
+ <xpad>0</xpad>
+ <ypad>0</ypad>
<child>
<left_attach>1</left_attach>
<right_attach>2</right_attach>
@@ -1105,18 +1113,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Department:</label>
+ </widget>
+
+ <widget>
+ <class>GtkLabel</class>
+ <name>label22</name>
+ <label>Office:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
- </widget>
-
- <widget>
- <class>GtkLabel</class>
- <name>label22</name>
<child>
<left_attach>1</left_attach>
<right_attach>2</right_attach>
@@ -1131,18 +1139,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Office:</label>
+ </widget>
+
+ <widget>
+ <class>GtkLabel</class>
+ <name>label23</name>
+ <label>Profession:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
- </widget>
-
- <widget>
- <class>GtkLabel</class>
- <name>label23</name>
<child>
<left_attach>1</left_attach>
<right_attach>2</right_attach>
@@ -1157,18 +1165,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Profession:</label>
+ </widget>
+
+ <widget>
+ <class>GtkLabel</class>
+ <name>label24</name>
+ <label>Nickname:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
- </widget>
-
- <widget>
- <class>GtkLabel</class>
- <name>label24</name>
<child>
<left_attach>1</left_attach>
<right_attach>2</right_attach>
@@ -1183,18 +1191,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Nickname:</label>
+ </widget>
+
+ <widget>
+ <class>GtkLabel</class>
+ <name>label25</name>
+ <label>Spouse's name:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
- </widget>
-
- <widget>
- <class>GtkLabel</class>
- <name>label25</name>
<child>
<left_attach>1</left_attach>
<right_attach>2</right_attach>
@@ -1209,18 +1217,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Spouse's name:</label>
+ </widget>
+
+ <widget>
+ <class>GtkLabel</class>
+ <name>label26</name>
+ <label>Directory Server:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
- </widget>
-
- <widget>
- <class>GtkLabel</class>
- <name>label26</name>
<child>
<left_attach>1</left_attach>
<right_attach>2</right_attach>
@@ -1235,18 +1243,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Directory Server:</label>
+ </widget>
+
+ <widget>
+ <class>GtkLabel</class>
+ <name>label27</name>
+ <label>Email alias:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
- </widget>
-
- <widget>
- <class>GtkLabel</class>
- <name>label27</name>
<child>
<left_attach>1</left_attach>
<right_attach>2</right_attach>
@@ -1261,18 +1269,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Email alias:</label>
+ </widget>
+
+ <widget>
+ <class>GtkLabel</class>
+ <name>label28</name>
+ <label>Address:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
- </widget>
-
- <widget>
- <class>GtkLabel</class>
- <name>label28</name>
<child>
<left_attach>1</left_attach>
<right_attach>2</right_attach>
@@ -1287,18 +1295,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Address:</label>
+ </widget>
+
+ <widget>
+ <class>GtkLabel</class>
+ <name>label31</name>
+ <label>Birthday:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
- </widget>
-
- <widget>
- <class>GtkLabel</class>
- <name>label31</name>
<child>
<left_attach>3</left_attach>
<right_attach>4</right_attach>
@@ -1313,18 +1321,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Birthday:</label>
+ </widget>
+
+ <widget>
+ <class>GtkLabel</class>
+ <name>label30</name>
+ <label>Assistant's name:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
- </widget>
-
- <widget>
- <class>GtkLabel</class>
- <name>label30</name>
<child>
<left_attach>3</left_attach>
<right_attach>4</right_attach>
@@ -1339,18 +1347,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Assistant's name:</label>
+ </widget>
+
+ <widget>
+ <class>GtkLabel</class>
+ <name>label29</name>
+ <label>Manager's name:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
- </widget>
-
- <widget>
- <class>GtkLabel</class>
- <name>label29</name>
<child>
<left_attach>3</left_attach>
<right_attach>4</right_attach>
@@ -1365,18 +1373,18 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Manager's name:</label>
+ </widget>
+
+ <widget>
+ <class>GtkLabel</class>
+ <name>label32</name>
+ <label>Anniversary:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
- </widget>
-
- <widget>
- <class>GtkLabel</class>
- <name>label32</name>
<child>
<left_attach>3</left_attach>
<right_attach>4</right_attach>
@@ -1391,18 +1399,16 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <label>Anniversary:</label>
- <justify>GTK_JUSTIFY_CENTER</justify>
- <wrap>False</wrap>
- <xalign>0</xalign>
- <yalign>0.5</yalign>
- <xpad>0</xpad>
- <ypad>0</ypad>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry4</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>2</left_attach>
<right_attach>3</right_attach>
@@ -1417,16 +1423,16 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry5</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>2</left_attach>
<right_attach>3</right_attach>
@@ -1441,16 +1447,16 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry6</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>2</left_attach>
<right_attach>3</right_attach>
@@ -1465,16 +1471,16 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry7</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>2</left_attach>
<right_attach>3</right_attach>
@@ -1489,16 +1495,16 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry8</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>2</left_attach>
<right_attach>3</right_attach>
@@ -1513,16 +1519,16 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry9</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>2</left_attach>
<right_attach>6</right_attach>
@@ -1537,16 +1543,16 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry10</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>2</left_attach>
<right_attach>5</right_attach>
@@ -1561,16 +1567,16 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry11</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>2</left_attach>
<right_attach>6</right_attach>
@@ -1585,16 +1591,16 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GnomeDateEdit</class>
<name>dateedit2</name>
+ <show_time>False</show_time>
+ <use_24_format>False</use_24_format>
+ <week_start_monday>False</week_start_monday>
+ <lower_hour>7</lower_hour>
+ <upper_hour>19</upper_hour>
<child>
<left_attach>4</left_attach>
<right_attach>6</right_attach>
@@ -1609,16 +1615,16 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <show_time>False</show_time>
- <use_24_format>False</use_24_format>
- <week_start_monday>False</week_start_monday>
- <lower_hour>7</lower_hour>
- <upper_hour>19</upper_hour>
</widget>
<widget>
<class>GnomeDateEdit</class>
<name>dateedit1</name>
+ <show_time>False</show_time>
+ <use_24_format>False</use_24_format>
+ <week_start_monday>False</week_start_monday>
+ <lower_hour>7</lower_hour>
+ <upper_hour>19</upper_hour>
<child>
<left_attach>4</left_attach>
<right_attach>6</right_attach>
@@ -1633,16 +1639,16 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <show_time>False</show_time>
- <use_24_format>False</use_24_format>
- <week_start_monday>False</week_start_monday>
- <lower_hour>7</lower_hour>
- <upper_hour>19</upper_hour>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry13</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>4</left_attach>
<right_attach>6</right_attach>
@@ -1657,16 +1663,16 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkEntry</class>
<name>entry12</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>4</left_attach>
<right_attach>6</right_attach>
@@ -1681,16 +1687,13 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkButton</class>
<name>button-callnow</name>
+ <can_focus>True</can_focus>
+ <label>Call Now</label>
<child>
<left_attach>5</left_attach>
<right_attach>6</right_attach>
@@ -1705,13 +1708,13 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <can_focus>True</can_focus>
- <label>Call Now</label>
</widget>
<widget>
<class>GtkHBox</class>
<name>hbox7</name>
+ <homogeneous>False</homogeneous>
+ <spacing>6</spacing>
<child>
<left_attach>0</left_attach>
<right_attach>6</right_attach>
@@ -1726,17 +1729,10 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <homogeneous>False</homogeneous>
- <spacing>6</spacing>
<widget>
<class>GtkLabel</class>
<name>label33</name>
- <child>
- <padding>0</padding>
- <expand>False</expand>
- <fill>False</fill>
- </child>
<label>Internet Free-Busy</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
@@ -1744,6 +1740,11 @@
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>2</ypad>
+ <child>
+ <padding>0</padding>
+ <expand>False</expand>
+ <fill>False</fill>
+ </child>
</widget>
<widget>
@@ -1760,6 +1761,8 @@
<widget>
<class>GtkHBox</class>
<name>hbox8</name>
+ <homogeneous>False</homogeneous>
+ <spacing>6</spacing>
<child>
<left_attach>0</left_attach>
<right_attach>6</right_attach>
@@ -1774,17 +1777,10 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <homogeneous>False</homogeneous>
- <spacing>6</spacing>
<widget>
<class>GtkLabel</class>
<name>label34</name>
- <child>
- <padding>0</padding>
- <expand>False</expand>
- <fill>False</fill>
- </child>
<label>Online NetMeeting settings</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
@@ -1792,6 +1788,11 @@
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>2</ypad>
+ <child>
+ <padding>0</padding>
+ <expand>False</expand>
+ <fill>False</fill>
+ </child>
</widget>
<widget>
@@ -1907,41 +1908,49 @@
<class>GnomeDialog</class>
<name>dialog2</name>
<visible>False</visible>
- <auto_close>False</auto_close>
- <hide_on_close>False</hide_on_close>
+ <type>GTK_WINDOW_TOPLEVEL</type>
+ <position>GTK_WIN_POS_NONE</position>
+ <modal>False</modal>
<allow_shrink>False</allow_shrink>
<allow_grow>False</allow_grow>
<auto_shrink>False</auto_shrink>
+ <auto_close>False</auto_close>
+ <hide_on_close>False</hide_on_close>
<widget>
<class>GtkVBox</class>
<child_name>GnomeDialog:vbox</child_name>
<name>dialog-vbox2</name>
+ <homogeneous>False</homogeneous>
+ <spacing>8</spacing>
<child>
<padding>4</padding>
<expand>True</expand>
<fill>True</fill>
</child>
- <homogeneous>False</homogeneous>
- <spacing>8</spacing>
<widget>
<class>GtkTable</class>
<name>table2</name>
- <child>
- <padding>0</padding>
- <expand>True</expand>
- <fill>True</fill>
- </child>
<rows>2</rows>
<columns>2</columns>
<homogeneous>False</homogeneous>
<row_spacing>0</row_spacing>
<column_spacing>0</column_spacing>
+ <child>
+ <padding>0</padding>
+ <expand>True</expand>
+ <fill>True</fill>
+ </child>
<widget>
<class>GtkEntry</class>
<name>entry2</name>
+ <can_focus>True</can_focus>
+ <editable>True</editable>
+ <text_visible>True</text_visible>
+ <text_max_length>0</text_max_length>
+ <text></text>
<child>
<left_attach>0</left_attach>
<right_attach>2</right_attach>
@@ -1956,16 +1965,13 @@
<xfill>True</xfill>
<yfill>False</yfill>
</child>
- <can_focus>True</can_focus>
- <editable>True</editable>
- <text_visible>True</text_visible>
- <text_max_length>0</text_max_length>
- <text></text>
</widget>
<widget>
<class>GtkVBox</class>
<name>vbox1</name>
+ <homogeneous>False</homogeneous>
+ <spacing>0</spacing>
<child>
<left_attach>1</left_attach>
<right_attach>2</right_attach>
@@ -1980,37 +1986,40 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <homogeneous>False</homogeneous>
- <spacing>0</spacing>
<widget>
<class>GtkButton</class>
<name>button31</name>
+ <can_focus>True</can_focus>
+ <label>Add</label>
<child>
<padding>0</padding>
<expand>False</expand>
<fill>False</fill>
</child>
- <can_focus>True</can_focus>
- <label>Add</label>
</widget>
<widget>
<class>GtkButton</class>
<name>button32</name>
+ <can_focus>True</can_focus>
+ <label>Delete</label>
<child>
<padding>0</padding>
<expand>False</expand>
<fill>False</fill>
</child>
- <can_focus>True</can_focus>
- <label>Delete</label>
</widget>
</widget>
<widget>
<class>GtkScrolledWindow</class>
<name>scrolledwindow1</name>
+ <height>200</height>
+ <hscrollbar_policy>GTK_POLICY_ALWAYS</hscrollbar_policy>
+ <vscrollbar_policy>GTK_POLICY_ALWAYS</vscrollbar_policy>
+ <hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy>
+ <vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy>
<child>
<left_attach>0</left_attach>
<right_attach>1</right_attach>
@@ -2025,11 +2034,6 @@
<xfill>True</xfill>
<yfill>True</yfill>
</child>
- <height>200</height>
- <hscrollbar_policy>GTK_POLICY_ALWAYS</hscrollbar_policy>
- <vscrollbar_policy>GTK_POLICY_ALWAYS</vscrollbar_policy>
- <hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy>
- <vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy>
<widget>
<class>GtkCList</class>
@@ -2061,18 +2065,18 @@
<class>GtkHButtonBox</class>
<child_name>GnomeDialog:action_area</child_name>
<name>dialog-action_area2</name>
- <child>
- <padding>0</padding>
- <expand>False</expand>
- <fill>True</fill>
- <pack>GTK_PACK_END</pack>
- </child>
<layout_style>GTK_BUTTONBOX_END</layout_style>
<spacing>8</spacing>
<child_min_width>85</child_min_width>
<child_min_height>27</child_min_height>
<child_ipad_x>7</child_ipad_x>
<child_ipad_y>0</child_ipad_y>
+ <child>
+ <padding>0</padding>
+ <expand>False</expand>
+ <fill>True</fill>
+ <pack>GTK_PACK_END</pack>
+ </child>
<widget>
<class>GtkButton</class>
@@ -2106,36 +2110,39 @@
<name>dialog-add-phone</name>
<visible>False</visible>
<title>New phone type</title>
- <auto_close>False</auto_close>
- <hide_on_close>False</hide_on_close>
+ <type>GTK_WINDOW_TOPLEVEL</type>
+ <position>GTK_WIN_POS_NONE</position>
+ <modal>False</modal>
<allow_shrink>False</allow_shrink>
<allow_grow>False</allow_grow>
<auto_shrink>False</auto_shrink>
+ <auto_close>False</auto_close>
+ <hide_on_close>False</hide_on_close>
<widget>
<class>GtkVBox</class>
<child_name>GnomeDialog:vbox</child_name>
<name>vbox2</name>
+ <homogeneous>False</homogeneous>
+ <spacing>8</spacing>
<child>
<padding>4</padding>
<expand>True</expand>
<fill>True</fill>
</child>
- <homogeneous>False</homogeneous>
- <spacing>8</spacing>
<widget>
<class>GtkFrame</class>
<name>frame-add-phone</name>
<border_width>4</border_width>
+ <label>New phone type</label>
+ <label_xalign>0</label_xalign>
+ <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
<child>
<padding>0</padding>
<expand>True</expand>
<fill>True</fill>
</child>
- <label>New phone type</label>
- <label_xalign>0</label_xalign>
- <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
<widget>
<class>GtkAlignment</class>
@@ -2162,18 +2169,18 @@
<class>GtkHButtonBox</class>
<child_name>GnomeDialog:action_area</child_name>
<name>hbuttonbox1</name>
- <child>
- <padding>0</padding>
- <expand>False</expand>
- <fill>True</fill>
- <pack>GTK_PACK_END</pack>
- </child>
<layout_style>GTK_BUTTONBOX_END</layout_style>
<spacing>8</spacing>
<child_min_width>85</child_min_width>
<child_min_height>27</child_min_height>
<child_ipad_x>7</child_ipad_x>
<child_ipad_y>0</child_ipad_y>
+ <child>
+ <padding>0</padding>
+ <expand>False</expand>
+ <fill>True</fill>
+ <pack>GTK_PACK_END</pack>
+ </child>
<widget>
<class>GtkButton</class>
diff --git a/addressbook/gui/minicard/e-minicard-label.c b/addressbook/gui/minicard/e-minicard-label.c
index 7e32acad59..0c4078f69f 100644
--- a/addressbook/gui/minicard/e-minicard-label.c
+++ b/addressbook/gui/minicard/e-minicard-label.c
@@ -188,26 +188,22 @@ e_minicard_label_get_arg (GtkObject *object, GtkArg *arg, guint arg_id)
GTK_VALUE_BOOL (*arg) = e_minicard_label->has_focus;
break;
case ARG_FIELD:
- if ( e_minicard_label->field )
- {
- gtk_object_get( GTK_OBJECT( e_minicard_label->field ), "text", &temp, NULL );
- GTK_VALUE_STRING (*arg) = temp;
- }
- else
- GTK_VALUE_STRING (*arg) = g_strdup( e_minicard_label->field_text );
- break;
+ if ( e_minicard_label->field ) {
+ gtk_object_get( GTK_OBJECT( e_minicard_label->field ), "text", &temp, NULL );
+ GTK_VALUE_STRING (*arg) = temp;
+ } else
+ GTK_VALUE_STRING (*arg) = g_strdup( e_minicard_label->field_text );
+ break;
case ARG_FIELDNAME:
- if ( e_minicard_label->fieldname )
- {
- gtk_object_get( GTK_OBJECT( e_minicard_label->fieldname ), "text", &temp, NULL );
- GTK_VALUE_STRING (*arg) = temp;
- }
- else
- GTK_VALUE_STRING (*arg) = g_strdup( e_minicard_label->fieldname_text );
- break;
+ if ( e_minicard_label->fieldname ) {
+ gtk_object_get( GTK_OBJECT( e_minicard_label->fieldname ), "text", &temp, NULL );
+ GTK_VALUE_STRING (*arg) = temp;
+ } else
+ GTK_VALUE_STRING (*arg) = g_strdup( e_minicard_label->fieldname_text );
+ break;
default:
- arg->type = GTK_TYPE_INVALID;
- break;
+ arg->type = GTK_TYPE_INVALID;
+ break;
}
}
diff --git a/addressbook/gui/minicard/e-minicard.c b/addressbook/gui/minicard/e-minicard.c
index f656d98b40..b6de4b2d0c 100644
--- a/addressbook/gui/minicard/e-minicard.c
+++ b/addressbook/gui/minicard/e-minicard.c
@@ -357,7 +357,9 @@ e_minicard_event (GnomeCanvasItem *item, GdkEvent *event)
}
break;
case GDK_KEY_PRESS:
- if (event->key.length == 1 && event->key.string[0] == '\t') {
+ if (event->key.keyval == GDK_Tab ||
+ event->key.keyval == GDK_KP_Tab ||
+ event->key.keyval == GDK_ISO_Left_Tab) {
GList *list;
for (list = e_minicard->fields; list; list = list->next) {
GnomeCanvasItem *item = GNOME_CANVAS_ITEM (list->data);
diff --git a/addressbook/gui/minicard/e-reflow.c b/addressbook/gui/minicard/e-reflow.c
index e9ff1b6eaa..41be2ec533 100644
--- a/addressbook/gui/minicard/e-reflow.c
+++ b/addressbook/gui/minicard/e-reflow.c
@@ -238,7 +238,9 @@ e_reflow_event (GnomeCanvasItem *item, GdkEvent *event)
switch( event->type )
{
case GDK_KEY_PRESS:
- if (event->key.length == 1 && event->key.string[0] == '\t') {
+ if (event->key.keyval == GDK_Tab ||
+ event->key.keyval == GDK_KP_Tab ||
+ event->key.keyval == GDK_ISO_Left_Tab) {
GList *list;
for (list = e_reflow->items; list; list = list->next) {
GnomeCanvasItem *item = GNOME_CANVAS_ITEM (list->data);
diff --git a/addressbook/gui/minicard/test-reflow.c b/addressbook/gui/minicard/test-reflow.c
index 067e520754..9efc2722dd 100644
--- a/addressbook/gui/minicard/test-reflow.c
+++ b/addressbook/gui/minicard/test-reflow.c
@@ -20,6 +20,7 @@
#include "config.h"
#include <gnome.h>
+#include "e-canvas.h"
#include "e-reflow.h"
#include "e-minicard.h"
@@ -99,7 +100,7 @@ int main( int argc, char *argv[] )
vbox = gtk_vbox_new(FALSE, 0);
- canvas = gnome_canvas_new();
+ canvas = e_canvas_new();
rect = gnome_canvas_item_new( gnome_canvas_root( GNOME_CANVAS( canvas ) ),
gnome_canvas_rect_get_type(),
"x1", (double) 0,
@@ -147,6 +148,7 @@ int main( int argc, char *argv[] )
( gpointer ) app );
gtk_widget_show_all( app );
+ gdk_window_set_back_pixmap( GTK_LAYOUT(canvas)->bin_window, NULL, FALSE);
gtk_main();
diff --git a/addressbook/gui/widgets/e-minicard-label.c b/addressbook/gui/widgets/e-minicard-label.c
index 7e32acad59..0c4078f69f 100644
--- a/addressbook/gui/widgets/e-minicard-label.c
+++ b/addressbook/gui/widgets/e-minicard-label.c
@@ -188,26 +188,22 @@ e_minicard_label_get_arg (GtkObject *object, GtkArg *arg, guint arg_id)
GTK_VALUE_BOOL (*arg) = e_minicard_label->has_focus;
break;
case ARG_FIELD:
- if ( e_minicard_label->field )
- {
- gtk_object_get( GTK_OBJECT( e_minicard_label->field ), "text", &temp, NULL );
- GTK_VALUE_STRING (*arg) = temp;
- }
- else
- GTK_VALUE_STRING (*arg) = g_strdup( e_minicard_label->field_text );
- break;
+ if ( e_minicard_label->field ) {
+ gtk_object_get( GTK_OBJECT( e_minicard_label->field ), "text", &temp, NULL );
+ GTK_VALUE_STRING (*arg) = temp;
+ } else
+ GTK_VALUE_STRING (*arg) = g_strdup( e_minicard_label->field_text );
+ break;
case ARG_FIELDNAME:
- if ( e_minicard_label->fieldname )
- {
- gtk_object_get( GTK_OBJECT( e_minicard_label->fieldname ), "text", &temp, NULL );
- GTK_VALUE_STRING (*arg) = temp;
- }
- else
- GTK_VALUE_STRING (*arg) = g_strdup( e_minicard_label->fieldname_text );
- break;
+ if ( e_minicard_label->fieldname ) {
+ gtk_object_get( GTK_OBJECT( e_minicard_label->fieldname ), "text", &temp, NULL );
+ GTK_VALUE_STRING (*arg) = temp;
+ } else
+ GTK_VALUE_STRING (*arg) = g_strdup( e_minicard_label->fieldname_text );
+ break;
default:
- arg->type = GTK_TYPE_INVALID;
- break;
+ arg->type = GTK_TYPE_INVALID;
+ break;
}
}
diff --git a/addressbook/gui/widgets/e-minicard.c b/addressbook/gui/widgets/e-minicard.c
index f656d98b40..b6de4b2d0c 100644
--- a/addressbook/gui/widgets/e-minicard.c
+++ b/addressbook/gui/widgets/e-minicard.c
@@ -357,7 +357,9 @@ e_minicard_event (GnomeCanvasItem *item, GdkEvent *event)
}
break;
case GDK_KEY_PRESS:
- if (event->key.length == 1 && event->key.string[0] == '\t') {
+ if (event->key.keyval == GDK_Tab ||
+ event->key.keyval == GDK_KP_Tab ||
+ event->key.keyval == GDK_ISO_Left_Tab) {
GList *list;
for (list = e_minicard->fields; list; list = list->next) {
GnomeCanvasItem *item = GNOME_CANVAS_ITEM (list->data);
diff --git a/addressbook/gui/widgets/test-reflow.c b/addressbook/gui/widgets/test-reflow.c
index 067e520754..9efc2722dd 100644
--- a/addressbook/gui/widgets/test-reflow.c
+++ b/addressbook/gui/widgets/test-reflow.c
@@ -20,6 +20,7 @@
#include "config.h"
#include <gnome.h>
+#include "e-canvas.h"
#include "e-reflow.h"
#include "e-minicard.h"
@@ -99,7 +100,7 @@ int main( int argc, char *argv[] )
vbox = gtk_vbox_new(FALSE, 0);
- canvas = gnome_canvas_new();
+ canvas = e_canvas_new();
rect = gnome_canvas_item_new( gnome_canvas_root( GNOME_CANVAS( canvas ) ),
gnome_canvas_rect_get_type(),
"x1", (double) 0,
@@ -147,6 +148,7 @@ int main( int argc, char *argv[] )
( gpointer ) app );
gtk_widget_show_all( app );
+ gdk_window_set_back_pixmap( GTK_LAYOUT(canvas)->bin_window, NULL, FALSE);
gtk_main();
diff --git a/e-util/e-canvas.c b/e-util/e-canvas.c
new file mode 100644
index 0000000000..74af105b36
--- /dev/null
+++ b/e-util/e-canvas.c
@@ -0,0 +1,233 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/*
+ * e-canvas.c
+ * Copyright (C) 2000 Helix Code, Inc.
+ * Author: Chris Lahey <clahey@helixcode.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <gnome.h>
+#include "e-canvas.h"
+static void e_canvas_init (ECanvas *card);
+static void e_canvas_class_init (ECanvasClass *klass);
+static gint e_canvas_key (GtkWidget *widget,
+ GdkEventKey *event);
+
+static int emit_event (GnomeCanvas *canvas, GdkEvent *event);
+
+static GnomeCanvasClass *parent_class = NULL;
+
+GtkType
+e_canvas_get_type (void)
+{
+ static GtkType canvas_type = 0;
+
+ if (!canvas_type)
+ {
+ static const GtkTypeInfo canvas_info =
+ {
+ "ECanvas",
+ sizeof (ECanvas),
+ sizeof (ECanvasClass),
+ (GtkClassInitFunc) e_canvas_class_init,
+ (GtkObjectInitFunc) e_canvas_init,
+ /* reserved_1 */ NULL,
+ /* reserved_2 */ NULL,
+ (GtkClassInitFunc) NULL,
+ };
+
+ canvas_type = gtk_type_unique (gnome_canvas_get_type (), &canvas_info);
+ }
+
+ return canvas_type;
+}
+
+static void
+e_canvas_class_init (ECanvasClass *klass)
+{
+ GtkObjectClass *object_class;
+ GnomeCanvasClass *canvas_class;
+ GtkWidgetClass *widget_class;
+
+ object_class = (GtkObjectClass*) klass;
+ canvas_class = (GnomeCanvasClass *) klass;
+ widget_class = (GtkWidgetClass *) klass;
+
+ parent_class = gtk_type_class (gnome_canvas_get_type ());
+
+ widget_class->key_press_event = e_canvas_key;
+ widget_class->key_release_event = e_canvas_key;
+}
+
+static void
+e_canvas_init (ECanvas *canvas)
+{
+}
+
+GtkWidget *
+e_canvas_new()
+{
+ return GTK_WIDGET (gtk_type_new (e_canvas_get_type ()));
+}
+
+
+/* Returns whether the item is an inferior of or is equal to the parent. */
+static int
+is_descendant (GnomeCanvasItem *item, GnomeCanvasItem *parent)
+{
+ for (; item; item = item->parent)
+ if (item == parent)
+ return TRUE;
+
+ return FALSE;
+}
+
+/* Emits an event for an item in the canvas, be it the current item, grabbed
+ * item, or focused item, as appropriate.
+ */
+static int
+emit_event (GnomeCanvas *canvas, GdkEvent *event)
+{
+ GdkEvent ev;
+ gint finished;
+ GnomeCanvasItem *item;
+ GnomeCanvasItem *parent;
+ guint mask;
+
+ /* Perform checks for grabbed items */
+
+ if (canvas->grabbed_item && !is_descendant (canvas->current_item, canvas->grabbed_item))
+ return FALSE;
+
+ if (canvas->grabbed_item) {
+ switch (event->type) {
+ case GDK_ENTER_NOTIFY:
+ mask = GDK_ENTER_NOTIFY_MASK;
+ break;
+
+ case GDK_LEAVE_NOTIFY:
+ mask = GDK_LEAVE_NOTIFY_MASK;
+ break;
+
+ case GDK_MOTION_NOTIFY:
+ mask = GDK_POINTER_MOTION_MASK;
+ break;
+
+ case GDK_BUTTON_PRESS:
+ case GDK_2BUTTON_PRESS:
+ case GDK_3BUTTON_PRESS:
+ mask = GDK_BUTTON_PRESS_MASK;
+ break;
+
+ case GDK_BUTTON_RELEASE:
+ mask = GDK_BUTTON_RELEASE_MASK;
+ break;
+
+ case GDK_KEY_PRESS:
+ mask = GDK_KEY_PRESS_MASK;
+ break;
+
+ case GDK_KEY_RELEASE:
+ mask = GDK_KEY_RELEASE_MASK;
+ break;
+
+ default:
+ mask = 0;
+ break;
+ }
+
+ if (!(mask & canvas->grabbed_event_mask))
+ return FALSE;
+ }
+
+ /* Convert to world coordinates -- we have two cases because of diferent
+ * offsets of the fields in the event structures.
+ */
+
+ ev = *event;
+
+ switch (ev.type) {
+ case GDK_ENTER_NOTIFY:
+ case GDK_LEAVE_NOTIFY:
+ gnome_canvas_window_to_world (canvas,
+ ev.crossing.x, ev.crossing.y,
+ &ev.crossing.x, &ev.crossing.y);
+ break;
+
+ case GDK_MOTION_NOTIFY:
+ case GDK_BUTTON_PRESS:
+ case GDK_2BUTTON_PRESS:
+ case GDK_3BUTTON_PRESS:
+ case GDK_BUTTON_RELEASE:
+ gnome_canvas_window_to_world (canvas,
+ ev.motion.x, ev.motion.y,
+ &ev.motion.x, &ev.motion.y);
+ break;
+
+ default:
+ break;
+ }
+
+ /* Choose where we send the event */
+
+ item = canvas->current_item;
+
+ if (canvas->focused_item
+ && ((event->type == GDK_KEY_PRESS) || (event->type == GDK_KEY_RELEASE) || (event->type == GDK_FOCUS_CHANGE)))
+ item = canvas->focused_item;
+
+ /* The event is propagated up the hierarchy (for if someone connected to
+ * a group instead of a leaf event), and emission is stopped if a
+ * handler returns TRUE, just like for GtkWidget events.
+ */
+
+ finished = FALSE;
+
+ while (item && !finished) {
+ gtk_object_ref (GTK_OBJECT (item));
+
+ gtk_signal_emit_by_name (GTK_OBJECT (item), "event",
+ &ev,
+ &finished);
+
+ if (GTK_OBJECT_DESTROYED (item))
+ finished = TRUE;
+
+ parent = item->parent;
+ gtk_object_unref (GTK_OBJECT (item));
+
+ item = parent;
+ }
+
+ return finished;
+}
+
+/* Key event handler for the canvas */
+static gint
+e_canvas_key (GtkWidget *widget, GdkEventKey *event)
+{
+ GnomeCanvas *canvas;
+
+ g_return_val_if_fail (widget != NULL, FALSE);
+ g_return_val_if_fail (GNOME_IS_CANVAS (widget), FALSE);
+ g_return_val_if_fail (event != NULL, FALSE);
+
+ canvas = GNOME_CANVAS (widget);
+
+ return emit_event (canvas, (GdkEvent *) event);
+}
+
diff --git a/e-util/e-canvas.h b/e-util/e-canvas.h
new file mode 100644
index 0000000000..06c3625f3a
--- /dev/null
+++ b/e-util/e-canvas.h
@@ -0,0 +1,66 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/* e-canvas.h
+ * Copyright (C) 2000 Helix Code, Inc.
+ * Author: Chris Lahey <clahey@helixcode.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+#ifndef __E_CANVAS_H__
+#define __E_CANVAS_H__
+
+#include <gnome.h>
+
+#ifdef __cplusplus
+extern "C" {
+#pragma }
+#endif /* __cplusplus */
+
+/* ECanvas - A class derived from canvas for the purpose of adding
+ * evolution specific canvas hacks.
+ */
+
+#define E_CANVAS_TYPE (e_canvas_get_type ())
+#define E_CANVAS(obj) (GTK_CHECK_CAST ((obj), E_CANVAS_TYPE, ECanvas))
+#define E_CANVAS_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), E_CANVAS_TYPE, ECanvasClass))
+#define E_IS_CANVAS(obj) (GTK_CHECK_TYPE ((obj), E_CANVAS_TYPE))
+#define E_IS_CANVAS_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((obj), E_CANVAS_TYPE))
+
+
+typedef struct _ECanvas ECanvas;
+typedef struct _ECanvasClass ECanvasClass;
+
+struct _ECanvas
+{
+ GnomeCanvas parent;
+
+ /* item specific fields */
+};
+
+struct _ECanvasClass
+{
+ GnomeCanvasClass parent_class;
+};
+
+
+GtkType e_canvas_get_type (void);
+GtkWidget *e_canvas_new (void);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+
+#endif /* __E_CANVAS_H__ */
diff --git a/widgets/Makefile.am b/widgets/Makefile.am
index 1e2016ef3c..e2659cac03 100644
--- a/widgets/Makefile.am
+++ b/widgets/Makefile.am
@@ -11,6 +11,8 @@ noinst_LIBRARIES = \
libevolutionwidgets.a
libevolutionwidgets_a_SOURCES = \
+ e-canvas.c \
+ e-canvas.h \
e-canvas-utils.c \
e-canvas-utils.h \
e-cursors.c \
diff --git a/widgets/e-canvas.c b/widgets/e-canvas.c
new file mode 100644
index 0000000000..74af105b36
--- /dev/null
+++ b/widgets/e-canvas.c
@@ -0,0 +1,233 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/*
+ * e-canvas.c
+ * Copyright (C) 2000 Helix Code, Inc.
+ * Author: Chris Lahey <clahey@helixcode.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <gnome.h>
+#include "e-canvas.h"
+static void e_canvas_init (ECanvas *card);
+static void e_canvas_class_init (ECanvasClass *klass);
+static gint e_canvas_key (GtkWidget *widget,
+ GdkEventKey *event);
+
+static int emit_event (GnomeCanvas *canvas, GdkEvent *event);
+
+static GnomeCanvasClass *parent_class = NULL;
+
+GtkType
+e_canvas_get_type (void)
+{
+ static GtkType canvas_type = 0;
+
+ if (!canvas_type)
+ {
+ static const GtkTypeInfo canvas_info =
+ {
+ "ECanvas",
+ sizeof (ECanvas),
+ sizeof (ECanvasClass),
+ (GtkClassInitFunc) e_canvas_class_init,
+ (GtkObjectInitFunc) e_canvas_init,
+ /* reserved_1 */ NULL,
+ /* reserved_2 */ NULL,
+ (GtkClassInitFunc) NULL,
+ };
+
+ canvas_type = gtk_type_unique (gnome_canvas_get_type (), &canvas_info);
+ }
+
+ return canvas_type;
+}
+
+static void
+e_canvas_class_init (ECanvasClass *klass)
+{
+ GtkObjectClass *object_class;
+ GnomeCanvasClass *canvas_class;
+ GtkWidgetClass *widget_class;
+
+ object_class = (GtkObjectClass*) klass;
+ canvas_class = (GnomeCanvasClass *) klass;
+ widget_class = (GtkWidgetClass *) klass;
+
+ parent_class = gtk_type_class (gnome_canvas_get_type ());
+
+ widget_class->key_press_event = e_canvas_key;
+ widget_class->key_release_event = e_canvas_key;
+}
+
+static void
+e_canvas_init (ECanvas *canvas)
+{
+}
+
+GtkWidget *
+e_canvas_new()
+{
+ return GTK_WIDGET (gtk_type_new (e_canvas_get_type ()));
+}
+
+
+/* Returns whether the item is an inferior of or is equal to the parent. */
+static int
+is_descendant (GnomeCanvasItem *item, GnomeCanvasItem *parent)
+{
+ for (; item; item = item->parent)
+ if (item == parent)
+ return TRUE;
+
+ return FALSE;
+}
+
+/* Emits an event for an item in the canvas, be it the current item, grabbed
+ * item, or focused item, as appropriate.
+ */
+static int
+emit_event (GnomeCanvas *canvas, GdkEvent *event)
+{
+ GdkEvent ev;
+ gint finished;
+ GnomeCanvasItem *item;
+ GnomeCanvasItem *parent;
+ guint mask;
+
+ /* Perform checks for grabbed items */
+
+ if (canvas->grabbed_item && !is_descendant (canvas->current_item, canvas->grabbed_item))
+ return FALSE;
+
+ if (canvas->grabbed_item) {
+ switch (event->type) {
+ case GDK_ENTER_NOTIFY:
+ mask = GDK_ENTER_NOTIFY_MASK;
+ break;
+
+ case GDK_LEAVE_NOTIFY:
+ mask = GDK_LEAVE_NOTIFY_MASK;
+ break;
+
+ case GDK_MOTION_NOTIFY:
+ mask = GDK_POINTER_MOTION_MASK;
+ break;
+
+ case GDK_BUTTON_PRESS:
+ case GDK_2BUTTON_PRESS:
+ case GDK_3BUTTON_PRESS:
+ mask = GDK_BUTTON_PRESS_MASK;
+ break;
+
+ case GDK_BUTTON_RELEASE:
+ mask = GDK_BUTTON_RELEASE_MASK;
+ break;
+
+ case GDK_KEY_PRESS:
+ mask = GDK_KEY_PRESS_MASK;
+ break;
+
+ case GDK_KEY_RELEASE:
+ mask = GDK_KEY_RELEASE_MASK;
+ break;
+
+ default:
+ mask = 0;
+ break;
+ }
+
+ if (!(mask & canvas->grabbed_event_mask))
+ return FALSE;
+ }
+
+ /* Convert to world coordinates -- we have two cases because of diferent
+ * offsets of the fields in the event structures.
+ */
+
+ ev = *event;
+
+ switch (ev.type) {
+ case GDK_ENTER_NOTIFY:
+ case GDK_LEAVE_NOTIFY:
+ gnome_canvas_window_to_world (canvas,
+ ev.crossing.x, ev.crossing.y,
+ &ev.crossing.x, &ev.crossing.y);
+ break;
+
+ case GDK_MOTION_NOTIFY:
+ case GDK_BUTTON_PRESS:
+ case GDK_2BUTTON_PRESS:
+ case GDK_3BUTTON_PRESS:
+ case GDK_BUTTON_RELEASE:
+ gnome_canvas_window_to_world (canvas,
+ ev.motion.x, ev.motion.y,
+ &ev.motion.x, &ev.motion.y);
+ break;
+
+ default:
+ break;
+ }
+
+ /* Choose where we send the event */
+
+ item = canvas->current_item;
+
+ if (canvas->focused_item
+ && ((event->type == GDK_KEY_PRESS) || (event->type == GDK_KEY_RELEASE) || (event->type == GDK_FOCUS_CHANGE)))
+ item = canvas->focused_item;
+
+ /* The event is propagated up the hierarchy (for if someone connected to
+ * a group instead of a leaf event), and emission is stopped if a
+ * handler returns TRUE, just like for GtkWidget events.
+ */
+
+ finished = FALSE;
+
+ while (item && !finished) {
+ gtk_object_ref (GTK_OBJECT (item));
+
+ gtk_signal_emit_by_name (GTK_OBJECT (item), "event",
+ &ev,
+ &finished);
+
+ if (GTK_OBJECT_DESTROYED (item))
+ finished = TRUE;
+
+ parent = item->parent;
+ gtk_object_unref (GTK_OBJECT (item));
+
+ item = parent;
+ }
+
+ return finished;
+}
+
+/* Key event handler for the canvas */
+static gint
+e_canvas_key (GtkWidget *widget, GdkEventKey *event)
+{
+ GnomeCanvas *canvas;
+
+ g_return_val_if_fail (widget != NULL, FALSE);
+ g_return_val_if_fail (GNOME_IS_CANVAS (widget), FALSE);
+ g_return_val_if_fail (event != NULL, FALSE);
+
+ canvas = GNOME_CANVAS (widget);
+
+ return emit_event (canvas, (GdkEvent *) event);
+}
+
diff --git a/widgets/e-canvas.h b/widgets/e-canvas.h
new file mode 100644
index 0000000000..06c3625f3a
--- /dev/null
+++ b/widgets/e-canvas.h
@@ -0,0 +1,66 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/* e-canvas.h
+ * Copyright (C) 2000 Helix Code, Inc.
+ * Author: Chris Lahey <clahey@helixcode.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+#ifndef __E_CANVAS_H__
+#define __E_CANVAS_H__
+
+#include <gnome.h>
+
+#ifdef __cplusplus
+extern "C" {
+#pragma }
+#endif /* __cplusplus */
+
+/* ECanvas - A class derived from canvas for the purpose of adding
+ * evolution specific canvas hacks.
+ */
+
+#define E_CANVAS_TYPE (e_canvas_get_type ())
+#define E_CANVAS(obj) (GTK_CHECK_CAST ((obj), E_CANVAS_TYPE, ECanvas))
+#define E_CANVAS_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), E_CANVAS_TYPE, ECanvasClass))
+#define E_IS_CANVAS(obj) (GTK_CHECK_TYPE ((obj), E_CANVAS_TYPE))
+#define E_IS_CANVAS_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((obj), E_CANVAS_TYPE))
+
+
+typedef struct _ECanvas ECanvas;
+typedef struct _ECanvasClass ECanvasClass;
+
+struct _ECanvas
+{
+ GnomeCanvas parent;
+
+ /* item specific fields */
+};
+
+struct _ECanvasClass
+{
+ GnomeCanvasClass parent_class;
+};
+
+
+GtkType e_canvas_get_type (void);
+GtkWidget *e_canvas_new (void);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+
+#endif /* __E_CANVAS_H__ */
diff --git a/widgets/e-minicard-label.c b/widgets/e-minicard-label.c
index 7e32acad59..0c4078f69f 100644
--- a/widgets/e-minicard-label.c
+++ b/widgets/e-minicard-label.c
@@ -188,26 +188,22 @@ e_minicard_label_get_arg (GtkObject *object, GtkArg *arg, guint arg_id)
GTK_VALUE_BOOL (*arg) = e_minicard_label->has_focus;
break;
case ARG_FIELD:
- if ( e_minicard_label->field )
- {
- gtk_object_get( GTK_OBJECT( e_minicard_label->field ), "text", &temp, NULL );
- GTK_VALUE_STRING (*arg) = temp;
- }
- else
- GTK_VALUE_STRING (*arg) = g_strdup( e_minicard_label->field_text );
- break;
+ if ( e_minicard_label->field ) {
+ gtk_object_get( GTK_OBJECT( e_minicard_label->field ), "text", &temp, NULL );
+ GTK_VALUE_STRING (*arg) = temp;
+ } else
+ GTK_VALUE_STRING (*arg) = g_strdup( e_minicard_label->field_text );
+ break;
case ARG_FIELDNAME:
- if ( e_minicard_label->fieldname )
- {
- gtk_object_get( GTK_OBJECT( e_minicard_label->fieldname ), "text", &temp, NULL );
- GTK_VALUE_STRING (*arg) = temp;
- }
- else
- GTK_VALUE_STRING (*arg) = g_strdup( e_minicard_label->fieldname_text );
- break;
+ if ( e_minicard_label->fieldname ) {
+ gtk_object_get( GTK_OBJECT( e_minicard_label->fieldname ), "text", &temp, NULL );
+ GTK_VALUE_STRING (*arg) = temp;
+ } else
+ GTK_VALUE_STRING (*arg) = g_strdup( e_minicard_label->fieldname_text );
+ break;
default:
- arg->type = GTK_TYPE_INVALID;
- break;
+ arg->type = GTK_TYPE_INVALID;
+ break;
}
}
diff --git a/widgets/e-minicard.c b/widgets/e-minicard.c
index f656d98b40..b6de4b2d0c 100644
--- a/widgets/e-minicard.c
+++ b/widgets/e-minicard.c
@@ -357,7 +357,9 @@ e_minicard_event (GnomeCanvasItem *item, GdkEvent *event)
}
break;
case GDK_KEY_PRESS:
- if (event->key.length == 1 && event->key.string[0] == '\t') {
+ if (event->key.keyval == GDK_Tab ||
+ event->key.keyval == GDK_KP_Tab ||
+ event->key.keyval == GDK_ISO_Left_Tab) {
GList *list;
for (list = e_minicard->fields; list; list = list->next) {
GnomeCanvasItem *item = GNOME_CANVAS_ITEM (list->data);
diff --git a/widgets/e-minicard/e-minicard-label.c b/widgets/e-minicard/e-minicard-label.c
index 7e32acad59..0c4078f69f 100644
--- a/widgets/e-minicard/e-minicard-label.c
+++ b/widgets/e-minicard/e-minicard-label.c
@@ -188,26 +188,22 @@ e_minicard_label_get_arg (GtkObject *object, GtkArg *arg, guint arg_id)
GTK_VALUE_BOOL (*arg) = e_minicard_label->has_focus;
break;
case ARG_FIELD:
- if ( e_minicard_label->field )
- {
- gtk_object_get( GTK_OBJECT( e_minicard_label->field ), "text", &temp, NULL );
- GTK_VALUE_STRING (*arg) = temp;
- }
- else
- GTK_VALUE_STRING (*arg) = g_strdup( e_minicard_label->field_text );
- break;
+ if ( e_minicard_label->field ) {
+ gtk_object_get( GTK_OBJECT( e_minicard_label->field ), "text", &temp, NULL );
+ GTK_VALUE_STRING (*arg) = temp;
+ } else
+ GTK_VALUE_STRING (*arg) = g_strdup( e_minicard_label->field_text );
+ break;
case ARG_FIELDNAME:
- if ( e_minicard_label->fieldname )
- {
- gtk_object_get( GTK_OBJECT( e_minicard_label->fieldname ), "text", &temp, NULL );
- GTK_VALUE_STRING (*arg) = temp;
- }
- else
- GTK_VALUE_STRING (*arg) = g_strdup( e_minicard_label->fieldname_text );
- break;
+ if ( e_minicard_label->fieldname ) {
+ gtk_object_get( GTK_OBJECT( e_minicard_label->fieldname ), "text", &temp, NULL );
+ GTK_VALUE_STRING (*arg) = temp;
+ } else
+ GTK_VALUE_STRING (*arg) = g_strdup( e_minicard_label->fieldname_text );
+ break;
default:
- arg->type = GTK_TYPE_INVALID;
- break;
+ arg->type = GTK_TYPE_INVALID;
+ break;
}
}
diff --git a/widgets/e-minicard/e-minicard.c b/widgets/e-minicard/e-minicard.c
index f656d98b40..b6de4b2d0c 100644
--- a/widgets/e-minicard/e-minicard.c
+++ b/widgets/e-minicard/e-minicard.c
@@ -357,7 +357,9 @@ e_minicard_event (GnomeCanvasItem *item, GdkEvent *event)
}
break;
case GDK_KEY_PRESS:
- if (event->key.length == 1 && event->key.string[0] == '\t') {
+ if (event->key.keyval == GDK_Tab ||
+ event->key.keyval == GDK_KP_Tab ||
+ event->key.keyval == GDK_ISO_Left_Tab) {
GList *list;
for (list = e_minicard->fields; list; list = list->next) {
GnomeCanvasItem *item = GNOME_CANVAS_ITEM (list->data);
diff --git a/widgets/e-minicard/e-reflow.c b/widgets/e-minicard/e-reflow.c
index e9ff1b6eaa..41be2ec533 100644
--- a/widgets/e-minicard/e-reflow.c
+++ b/widgets/e-minicard/e-reflow.c
@@ -238,7 +238,9 @@ e_reflow_event (GnomeCanvasItem *item, GdkEvent *event)
switch( event->type )
{
case GDK_KEY_PRESS:
- if (event->key.length == 1 && event->key.string[0] == '\t') {
+ if (event->key.keyval == GDK_Tab ||
+ event->key.keyval == GDK_KP_Tab ||
+ event->key.keyval == GDK_ISO_Left_Tab) {
GList *list;
for (list = e_reflow->items; list; list = list->next) {
GnomeCanvasItem *item = GNOME_CANVAS_ITEM (list->data);
diff --git a/widgets/e-minicard/test-reflow.c b/widgets/e-minicard/test-reflow.c
index 067e520754..9efc2722dd 100644
--- a/widgets/e-minicard/test-reflow.c
+++ b/widgets/e-minicard/test-reflow.c
@@ -20,6 +20,7 @@
#include "config.h"
#include <gnome.h>
+#include "e-canvas.h"
#include "e-reflow.h"
#include "e-minicard.h"
@@ -99,7 +100,7 @@ int main( int argc, char *argv[] )
vbox = gtk_vbox_new(FALSE, 0);
- canvas = gnome_canvas_new();
+ canvas = e_canvas_new();
rect = gnome_canvas_item_new( gnome_canvas_root( GNOME_CANVAS( canvas ) ),
gnome_canvas_rect_get_type(),
"x1", (double) 0,
@@ -147,6 +148,7 @@ int main( int argc, char *argv[] )
( gpointer ) app );
gtk_widget_show_all( app );
+ gdk_window_set_back_pixmap( GTK_LAYOUT(canvas)->bin_window, NULL, FALSE);
gtk_main();
diff --git a/widgets/e-reflow.c b/widgets/e-reflow.c
index e9ff1b6eaa..41be2ec533 100644
--- a/widgets/e-reflow.c
+++ b/widgets/e-reflow.c
@@ -238,7 +238,9 @@ e_reflow_event (GnomeCanvasItem *item, GdkEvent *event)
switch( event->type )
{
case GDK_KEY_PRESS:
- if (event->key.length == 1 && event->key.string[0] == '\t') {
+ if (event->key.keyval == GDK_Tab ||
+ event->key.keyval == GDK_KP_Tab ||
+ event->key.keyval == GDK_ISO_Left_Tab) {
GList *list;
for (list = e_reflow->items; list; list = list->next) {
GnomeCanvasItem *item = GNOME_CANVAS_ITEM (list->data);
diff --git a/widgets/e-reflow/e-reflow.c b/widgets/e-reflow/e-reflow.c
index e9ff1b6eaa..41be2ec533 100644
--- a/widgets/e-reflow/e-reflow.c
+++ b/widgets/e-reflow/e-reflow.c
@@ -238,7 +238,9 @@ e_reflow_event (GnomeCanvasItem *item, GdkEvent *event)
switch( event->type )
{
case GDK_KEY_PRESS:
- if (event->key.length == 1 && event->key.string[0] == '\t') {
+ if (event->key.keyval == GDK_Tab ||
+ event->key.keyval == GDK_KP_Tab ||
+ event->key.keyval == GDK_ISO_Left_Tab) {
GList *list;
for (list = e_reflow->items; list; list = list->next) {
GnomeCanvasItem *item = GNOME_CANVAS_ITEM (list->data);
diff --git a/widgets/misc/e-canvas.c b/widgets/misc/e-canvas.c
new file mode 100644
index 0000000000..74af105b36
--- /dev/null
+++ b/widgets/misc/e-canvas.c
@@ -0,0 +1,233 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/*
+ * e-canvas.c
+ * Copyright (C) 2000 Helix Code, Inc.
+ * Author: Chris Lahey <clahey@helixcode.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <gnome.h>
+#include "e-canvas.h"
+static void e_canvas_init (ECanvas *card);
+static void e_canvas_class_init (ECanvasClass *klass);
+static gint e_canvas_key (GtkWidget *widget,
+ GdkEventKey *event);
+
+static int emit_event (GnomeCanvas *canvas, GdkEvent *event);
+
+static GnomeCanvasClass *parent_class = NULL;
+
+GtkType
+e_canvas_get_type (void)
+{
+ static GtkType canvas_type = 0;
+
+ if (!canvas_type)
+ {
+ static const GtkTypeInfo canvas_info =
+ {
+ "ECanvas",
+ sizeof (ECanvas),
+ sizeof (ECanvasClass),
+ (GtkClassInitFunc) e_canvas_class_init,
+ (GtkObjectInitFunc) e_canvas_init,
+ /* reserved_1 */ NULL,
+ /* reserved_2 */ NULL,
+ (GtkClassInitFunc) NULL,
+ };
+
+ canvas_type = gtk_type_unique (gnome_canvas_get_type (), &canvas_info);
+ }
+
+ return canvas_type;
+}
+
+static void
+e_canvas_class_init (ECanvasClass *klass)
+{
+ GtkObjectClass *object_class;
+ GnomeCanvasClass *canvas_class;
+ GtkWidgetClass *widget_class;
+
+ object_class = (GtkObjectClass*) klass;
+ canvas_class = (GnomeCanvasClass *) klass;
+ widget_class = (GtkWidgetClass *) klass;
+
+ parent_class = gtk_type_class (gnome_canvas_get_type ());
+
+ widget_class->key_press_event = e_canvas_key;
+ widget_class->key_release_event = e_canvas_key;
+}
+
+static void
+e_canvas_init (ECanvas *canvas)
+{
+}
+
+GtkWidget *
+e_canvas_new()
+{
+ return GTK_WIDGET (gtk_type_new (e_canvas_get_type ()));
+}
+
+
+/* Returns whether the item is an inferior of or is equal to the parent. */
+static int
+is_descendant (GnomeCanvasItem *item, GnomeCanvasItem *parent)
+{
+ for (; item; item = item->parent)
+ if (item == parent)
+ return TRUE;
+
+ return FALSE;
+}
+
+/* Emits an event for an item in the canvas, be it the current item, grabbed
+ * item, or focused item, as appropriate.
+ */
+static int
+emit_event (GnomeCanvas *canvas, GdkEvent *event)
+{
+ GdkEvent ev;
+ gint finished;
+ GnomeCanvasItem *item;
+ GnomeCanvasItem *parent;
+ guint mask;
+
+ /* Perform checks for grabbed items */
+
+ if (canvas->grabbed_item && !is_descendant (canvas->current_item, canvas->grabbed_item))
+ return FALSE;
+
+ if (canvas->grabbed_item) {
+ switch (event->type) {
+ case GDK_ENTER_NOTIFY:
+ mask = GDK_ENTER_NOTIFY_MASK;
+ break;
+
+ case GDK_LEAVE_NOTIFY:
+ mask = GDK_LEAVE_NOTIFY_MASK;
+ break;
+
+ case GDK_MOTION_NOTIFY:
+ mask = GDK_POINTER_MOTION_MASK;
+ break;
+
+ case GDK_BUTTON_PRESS:
+ case GDK_2BUTTON_PRESS:
+ case GDK_3BUTTON_PRESS:
+ mask = GDK_BUTTON_PRESS_MASK;
+ break;
+
+ case GDK_BUTTON_RELEASE:
+ mask = GDK_BUTTON_RELEASE_MASK;
+ break;
+
+ case GDK_KEY_PRESS:
+ mask = GDK_KEY_PRESS_MASK;
+ break;
+
+ case GDK_KEY_RELEASE:
+ mask = GDK_KEY_RELEASE_MASK;
+ break;
+
+ default:
+ mask = 0;
+ break;
+ }
+
+ if (!(mask & canvas->grabbed_event_mask))
+ return FALSE;
+ }
+
+ /* Convert to world coordinates -- we have two cases because of diferent
+ * offsets of the fields in the event structures.
+ */
+
+ ev = *event;
+
+ switch (ev.type) {
+ case GDK_ENTER_NOTIFY:
+ case GDK_LEAVE_NOTIFY:
+ gnome_canvas_window_to_world (canvas,
+ ev.crossing.x, ev.crossing.y,
+ &ev.crossing.x, &ev.crossing.y);
+ break;
+
+ case GDK_MOTION_NOTIFY:
+ case GDK_BUTTON_PRESS:
+ case GDK_2BUTTON_PRESS:
+ case GDK_3BUTTON_PRESS:
+ case GDK_BUTTON_RELEASE:
+ gnome_canvas_window_to_world (canvas,
+ ev.motion.x, ev.motion.y,
+ &ev.motion.x, &ev.motion.y);
+ break;
+
+ default:
+ break;
+ }
+
+ /* Choose where we send the event */
+
+ item = canvas->current_item;
+
+ if (canvas->focused_item
+ && ((event->type == GDK_KEY_PRESS) || (event->type == GDK_KEY_RELEASE) || (event->type == GDK_FOCUS_CHANGE)))
+ item = canvas->focused_item;
+
+ /* The event is propagated up the hierarchy (for if someone connected to
+ * a group instead of a leaf event), and emission is stopped if a
+ * handler returns TRUE, just like for GtkWidget events.
+ */
+
+ finished = FALSE;
+
+ while (item && !finished) {
+ gtk_object_ref (GTK_OBJECT (item));
+
+ gtk_signal_emit_by_name (GTK_OBJECT (item), "event",
+ &ev,
+ &finished);
+
+ if (GTK_OBJECT_DESTROYED (item))
+ finished = TRUE;
+
+ parent = item->parent;
+ gtk_object_unref (GTK_OBJECT (item));
+
+ item = parent;
+ }
+
+ return finished;
+}
+
+/* Key event handler for the canvas */
+static gint
+e_canvas_key (GtkWidget *widget, GdkEventKey *event)
+{
+ GnomeCanvas *canvas;
+
+ g_return_val_if_fail (widget != NULL, FALSE);
+ g_return_val_if_fail (GNOME_IS_CANVAS (widget), FALSE);
+ g_return_val_if_fail (event != NULL, FALSE);
+
+ canvas = GNOME_CANVAS (widget);
+
+ return emit_event (canvas, (GdkEvent *) event);
+}
+
diff --git a/widgets/misc/e-canvas.h b/widgets/misc/e-canvas.h
new file mode 100644
index 0000000000..06c3625f3a
--- /dev/null
+++ b/widgets/misc/e-canvas.h
@@ -0,0 +1,66 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/* e-canvas.h
+ * Copyright (C) 2000 Helix Code, Inc.
+ * Author: Chris Lahey <clahey@helixcode.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+#ifndef __E_CANVAS_H__
+#define __E_CANVAS_H__
+
+#include <gnome.h>
+
+#ifdef __cplusplus
+extern "C" {
+#pragma }
+#endif /* __cplusplus */
+
+/* ECanvas - A class derived from canvas for the purpose of adding
+ * evolution specific canvas hacks.
+ */
+
+#define E_CANVAS_TYPE (e_canvas_get_type ())
+#define E_CANVAS(obj) (GTK_CHECK_CAST ((obj), E_CANVAS_TYPE, ECanvas))
+#define E_CANVAS_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), E_CANVAS_TYPE, ECanvasClass))
+#define E_IS_CANVAS(obj) (GTK_CHECK_TYPE ((obj), E_CANVAS_TYPE))
+#define E_IS_CANVAS_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((obj), E_CANVAS_TYPE))
+
+
+typedef struct _ECanvas ECanvas;
+typedef struct _ECanvasClass ECanvasClass;
+
+struct _ECanvas
+{
+ GnomeCanvas parent;
+
+ /* item specific fields */
+};
+
+struct _ECanvasClass
+{
+ GnomeCanvasClass parent_class;
+};
+
+
+GtkType e_canvas_get_type (void);
+GtkWidget *e_canvas_new (void);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+
+#endif /* __E_CANVAS_H__ */
diff --git a/widgets/misc/e-reflow.c b/widgets/misc/e-reflow.c
index e9ff1b6eaa..41be2ec533 100644
--- a/widgets/misc/e-reflow.c
+++ b/widgets/misc/e-reflow.c
@@ -238,7 +238,9 @@ e_reflow_event (GnomeCanvasItem *item, GdkEvent *event)
switch( event->type )
{
case GDK_KEY_PRESS:
- if (event->key.length == 1 && event->key.string[0] == '\t') {
+ if (event->key.keyval == GDK_Tab ||
+ event->key.keyval == GDK_KP_Tab ||
+ event->key.keyval == GDK_ISO_Left_Tab) {
GList *list;
for (list = e_reflow->items; list; list = list->next) {
GnomeCanvasItem *item = GNOME_CANVAS_ITEM (list->data);
diff --git a/widgets/test-reflow.c b/widgets/test-reflow.c
index 067e520754..9efc2722dd 100644
--- a/widgets/test-reflow.c
+++ b/widgets/test-reflow.c
@@ -20,6 +20,7 @@
#include "config.h"
#include <gnome.h>
+#include "e-canvas.h"
#include "e-reflow.h"
#include "e-minicard.h"
@@ -99,7 +100,7 @@ int main( int argc, char *argv[] )
vbox = gtk_vbox_new(FALSE, 0);
- canvas = gnome_canvas_new();
+ canvas = e_canvas_new();
rect = gnome_canvas_item_new( gnome_canvas_root( GNOME_CANVAS( canvas ) ),
gnome_canvas_rect_get_type(),
"x1", (double) 0,
@@ -147,6 +148,7 @@ int main( int argc, char *argv[] )
( gpointer ) app );
gtk_widget_show_all( app );
+ gdk_window_set_back_pixmap( GTK_LAYOUT(canvas)->bin_window, NULL, FALSE);
gtk_main();