diff options
author | JP Rosevear <jpr@ximian.com> | 2001-02-09 04:50:49 +0800 |
---|---|---|
committer | JP Rosevear <jpr@src.gnome.org> | 2001-02-09 04:50:49 +0800 |
commit | 67336a8d362a3ddb78d3daa82375ab647d75f5e4 (patch) | |
tree | 960a83b5452aa68821e11432f6df60db03b64fe7 /calendar | |
parent | 2ca1db97c9db0d22865b668bf0f3a1d03f77cdb6 (diff) | |
download | gsoc2013-evolution-67336a8d362a3ddb78d3daa82375ab647d75f5e4.tar.gz gsoc2013-evolution-67336a8d362a3ddb78d3daa82375ab647d75f5e4.tar.zst gsoc2013-evolution-67336a8d362a3ddb78d3daa82375ab647d75f5e4.zip |
Pull up from 0.9 branch
2001-02-08 JP Rosevear <jpr@ximian.com>
* gui/event-editor.c: Remove assorted menu/bonobo stuff
* gui/dialogs/task-editor.c: Remove assorted menu/bonobo stuff
(task_editor_construct): no longer suck out the glade contents
into a bonobo win, listen for apply and close signals
(tedit_apply_event_cb): listen for apply signal and save object
(tedit_close_event_cb): listen for close signal and prompt to save
if need be
(task_editor_focus): new function to bring the dialog to the front
* gui/dialogs/task-editor.h: new prototype
* gui/e-meeting-edit.c (schedule_button_clicked_cb): no need to
update widgets in the event editor since the event editor won't be
open
(e_meeting_editor_new): don't need the event editor reference any
more
* gui/e-meeting-edit.h: Change prototype
* gui/e-day-view.c (e_day_view_on_event_right_click): Make
schedule meeting a new contextual menu item
(e_day_view_on_schedule_meet): new routine to schedule a meeting
from the contextual menu
* gui/e-calendar-table.c (e_calendar_table_open_task): Call
task_editor_focus
* gui/event-editor-dialog.glade: Update to be a property box
* gui/dialogs/task-editor-dialog.glade: Update to be a property
box
svn path=/trunk/; revision=8115
Diffstat (limited to 'calendar')
-rw-r--r-- | calendar/ChangeLog | 61 | ||||
-rw-r--r-- | calendar/gui/dialogs/task-editor-dialog.glade | 1040 | ||||
-rw-r--r-- | calendar/gui/dialogs/task-editor.c | 208 | ||||
-rw-r--r-- | calendar/gui/dialogs/task-editor.h | 16 | ||||
-rw-r--r-- | calendar/gui/dialogs/task-page.glade | 1040 | ||||
-rw-r--r-- | calendar/gui/e-calendar-table.c | 2 | ||||
-rw-r--r-- | calendar/gui/e-day-view.c | 41 | ||||
-rw-r--r-- | calendar/gui/e-meeting-edit.c | 7 | ||||
-rw-r--r-- | calendar/gui/e-meeting-edit.h | 5 | ||||
-rw-r--r-- | calendar/gui/event-editor.c | 174 |
10 files changed, 1214 insertions, 1380 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog index 299d88078e..f4b252a734 100644 --- a/calendar/ChangeLog +++ b/calendar/ChangeLog @@ -1,3 +1,38 @@ +2001-02-08 JP Rosevear <jpr@ximian.com> + + * gui/event-editor.c: Remove assorted menu/bonobo stuff + + * gui/dialogs/task-editor.c: Remove assorted menu/bonobo stuff + (task_editor_construct): no longer suck out the glade contents + into a bonobo win, listen for apply and close signals + (tedit_apply_event_cb): listen for apply signal and save object + (tedit_close_event_cb): listen for close signal and prompt to save + if need be + (task_editor_focus): new function to bring the dialog to the front + + * gui/dialogs/task-editor.h: new prototype + + * gui/e-meeting-edit.c (schedule_button_clicked_cb): no need to + update widgets in the event editor since the event editor won't be + open + (e_meeting_editor_new): don't need the event editor reference any + more + + * gui/e-meeting-edit.h: Change prototype + + * gui/e-day-view.c (e_day_view_on_event_right_click): Make + schedule meeting a new contextual menu item + (e_day_view_on_schedule_meet): new routine to schedule a meeting + from the contextual menu + + * gui/e-calendar-table.c (e_calendar_table_open_task): Call + task_editor_focus + + * gui/event-editor-dialog.glade: Update to be a property box + + * gui/dialogs/task-editor-dialog.glade: Update to be a property + box + 2001-02-07 Iain Holmes <iain@ximian.com> * gui/calendar-summary.c (create_summary_view): Add a setter to the @@ -7,14 +42,6 @@ 2001-02-06 JP Rosevear <jpr@ximian.com> - * cal-util/cal-component.c (cal_component_set_categories): If the - categories string is empty, remove the property - (get_period_list): Fixes from clahey to handle the new rdate - format in libical - (set_period_list): ditto - -2001-02-06 JP Rosevear <jpr@ximian.com> - * gui/event-editor.c (fill_reminder_widgets): Match new append_alarm signature (reminder_to_comp_object): only add alarms tagged as new, no @@ -31,6 +58,16 @@ * gui/dialogs/task-editor-dialog.glade: ditto +2001-02-07 JP Rosevear <jpr@ximian.com> + + * gui/event-editor-dialog.glade: Fix spacing + +2001-02-06 JP Rosevear <jpr@ximian.com> + + * gui/event-editor-dialog.glade: Gui tweaks for bugs 1248 and 1246 + + * gui/dialogs/task-editor-dialog.glade: ditto + 2001-02-06 JP Rosevear <jpr@ximian.com> * gui/e-week-view.c (e_week_view_show_popup_menu): Make the menus more @@ -40,6 +77,14 @@ * gui/e-calendar-table.c: ditto +2001-02-06 JP Rosevear <jpr@ximian.com> + + * cal-util/cal-component.c (cal_component_set_categories): If the + categories string is empty, remove the property + (get_period_list): Fixes from clahey to handle the new rdate + format in libical + (set_period_list): ditto + 2001-02-05 JP Rosevear <jpr@ximian.com> * cal-util/cal-component.c (cal_component_alarm_set_trigger): Set diff --git a/calendar/gui/dialogs/task-editor-dialog.glade b/calendar/gui/dialogs/task-editor-dialog.glade index 000cb42cbd..98fc85ecf0 100644 --- a/calendar/gui/dialogs/task-editor-dialog.glade +++ b/calendar/gui/dialogs/task-editor-dialog.glade @@ -15,23 +15,28 @@ </project> <widget> - <class>GnomeApp</class> + <class>GnomePropertyBox</class> <name>task-editor-dialog</name> <visible>False</visible> - <title>task-editor-dialog</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> + <allow_grow>False</allow_grow> <auto_shrink>False</auto_shrink> - <enable_layout_config>True</enable_layout_config> <widget> - <class>GnomeDock</class> - <child_name>GnomeApp:dock</child_name> - <name>dock1</name> - <allow_floating>True</allow_floating> + <class>GtkNotebook</class> + <child_name>GnomeDock:contents</child_name> + <name>notebook1</name> + <border_width>2</border_width> + <can_focus>True</can_focus> + <show_tabs>True</show_tabs> + <show_border>True</show_border> + <tab_pos>GTK_POS_TOP</tab_pos> + <scrollable>False</scrollable> + <tab_hborder>2</tab_hborder> + <tab_vborder>2</tab_vborder> + <popup_enable>False</popup_enable> <child> <padding>0</padding> <expand>True</expand> @@ -39,33 +44,106 @@ </child> <widget> - <class>GtkNotebook</class> - <child_name>GnomeDock:contents</child_name> - <name>notebook1</name> - <border_width>2</border_width> - <can_focus>True</can_focus> - <show_tabs>True</show_tabs> - <show_border>True</show_border> - <tab_pos>GTK_POS_TOP</tab_pos> - <scrollable>False</scrollable> - <tab_hborder>2</tab_hborder> - <tab_vborder>2</tab_vborder> - <popup_enable>False</popup_enable> + <class>GtkVBox</class> + <name>vbox1</name> + <border_width>4</border_width> + <homogeneous>False</homogeneous> + <spacing>4</spacing> <widget> - <class>GtkVBox</class> - <name>vbox1</name> - <border_width>4</border_width> + <class>GtkTable</class> + <name>table3</name> + <rows>1</rows> + <columns>2</columns> <homogeneous>False</homogeneous> - <spacing>4</spacing> + <row_spacing>4</row_spacing> + <column_spacing>4</column_spacing> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkLabel</class> + <name>label3</name> + <label>Su_mmary</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <default_focus_target>summary</default_focus_target> + <child> + <left_attach>0</left_attach> + <right_attach>1</right_attach> + <top_attach>0</top_attach> + <bottom_attach>1</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>False</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>False</xfill> + <yfill>False</yfill> + </child> + </widget> + + <widget> + <class>GtkEntry</class> + <name>summary</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>1</left_attach> + <right_attach>2</right_attach> + <top_attach>0</top_attach> + <bottom_attach>1</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>True</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>False</yfill> + </child> + </widget> + </widget> + + <widget> + <class>GtkHSeparator</class> + <name>hseparator1</name> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>True</fill> + </child> + </widget> + + <widget> + <class>GtkHBox</class> + <name>hbox4</name> + <homogeneous>False</homogeneous> + <spacing>0</spacing> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>True</fill> + </child> <widget> <class>GtkTable</class> - <name>table3</name> - <rows>1</rows> - <columns>2</columns> + <name>table1</name> + <rows>2</rows> + <columns>4</columns> <homogeneous>False</homogeneous> - <row_spacing>4</row_spacing> + <row_spacing>2</row_spacing> <column_spacing>4</column_spacing> <child> <padding>0</padding> @@ -75,47 +153,48 @@ <widget> <class>GtkLabel</class> - <name>label3</name> - <label>Su_mmary</label> + <name>label6</name> + <label>Sta_rt Date:</label> <justify>GTK_JUSTIFY_CENTER</justify> <wrap>False</wrap> - <xalign>0.5</xalign> + <xalign>0</xalign> <yalign>0.5</yalign> <xpad>0</xpad> <ypad>0</ypad> - <default_focus_target>summary</default_focus_target> <child> <left_attach>0</left_attach> <right_attach>1</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> + <top_attach>1</top_attach> + <bottom_attach>2</bottom_attach> <xpad>0</xpad> <ypad>0</ypad> <xexpand>False</xexpand> <yexpand>False</yexpand> <xshrink>False</xshrink> <yshrink>False</yshrink> - <xfill>False</xfill> + <xfill>True</xfill> <yfill>False</yfill> </child> </widget> <widget> - <class>GtkEntry</class> - <name>summary</name> - <can_focus>True</can_focus> - <editable>True</editable> - <text_visible>True</text_visible> - <text_max_length>0</text_max_length> - <text></text> + <class>GtkLabel</class> + <name>label5</name> + <label>_Due Date:</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> + <left_attach>0</left_attach> + <right_attach>1</right_attach> <top_attach>0</top_attach> <bottom_attach>1</bottom_attach> <xpad>0</xpad> <ypad>0</ypad> - <xexpand>True</xexpand> + <xexpand>False</xexpand> <yexpand>False</yexpand> <xshrink>False</xshrink> <yshrink>False</yshrink> @@ -123,577 +202,488 @@ <yfill>False</yfill> </child> </widget> - </widget> - - <widget> - <class>GtkHSeparator</class> - <name>hseparator1</name> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>True</fill> - </child> - </widget> - - <widget> - <class>GtkHBox</class> - <name>hbox4</name> - <homogeneous>False</homogeneous> - <spacing>0</spacing> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>True</fill> - </child> - - <widget> - <class>GtkTable</class> - <name>table1</name> - <rows>2</rows> - <columns>4</columns> - <homogeneous>False</homogeneous> - <row_spacing>2</row_spacing> - <column_spacing>4</column_spacing> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>True</fill> - </child> - - <widget> - <class>GtkLabel</class> - <name>label6</name> - <label>Sta_rt Date:</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>0</left_attach> - <right_attach>1</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>label5</name> - <label>_Due Date:</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>0</left_attach> - <right_attach>1</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>label9</name> - <label>% Comp_lete:</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <default_focus_target>percent-complete</default_focus_target> - <child> - <left_attach>2</left_attach> - <right_attach>3</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkSpinButton</class> - <name>percent-complete</name> - <width>60</width> - <can_focus>True</can_focus> - <climb_rate>1</climb_rate> - <digits>0</digits> - <numeric>False</numeric> - <update_policy>GTK_UPDATE_ALWAYS</update_policy> - <snap>False</snap> - <wrap>False</wrap> - <value>0</value> - <lower>0</lower> - <upper>100</upper> - <step>10</step> - <page>10</page> - <page_size>10</page_size> - <child> - <left_attach>3</left_attach> - <right_attach>4</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>Custom</class> - <name>due-date</name> - <creation_function>task_editor_create_date_edit</creation_function> - <int1>0</int1> - <int2>0</int2> - <last_modification_time>Sun, 10 Sep 2000 17:32:18 GMT</last_modification_time> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>Custom</class> - <name>start-date</name> - <creation_function>task_editor_create_date_edit</creation_function> - <int1>0</int1> - <int2>0</int2> - <last_modification_time>Sun, 10 Sep 2000 17:33:31 GMT</last_modification_time> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - </widget> - </widget> - - <widget> - <class>GtkHSeparator</class> - <name>hseparator2</name> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>True</fill> - </child> - </widget> - - <widget> - <class>GtkHBox</class> - <name>hbox3</name> - <homogeneous>False</homogeneous> - <spacing>4</spacing> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>True</fill> - </child> <widget> <class>GtkLabel</class> - <name>label7</name> - <label>_Status:</label> + <name>label9</name> + <label>% Comp_lete:</label> <justify>GTK_JUSTIFY_CENTER</justify> <wrap>False</wrap> <xalign>0.5</xalign> <yalign>0.5</yalign> <xpad>0</xpad> <ypad>0</ypad> - <default_focus_target>status</default_focus_target> + <default_focus_target>percent-complete</default_focus_target> <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> + <left_attach>2</left_attach> + <right_attach>3</right_attach> + <top_attach>0</top_attach> + <bottom_attach>1</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>False</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>False</xfill> + <yfill>False</yfill> </child> </widget> <widget> - <class>GtkOptionMenu</class> - <name>status</name> + <class>GtkSpinButton</class> + <name>percent-complete</name> + <width>60</width> <can_focus>True</can_focus> - <items>Not Started -In Progress -Completed -Cancelled -</items> - <initial_choice>0</initial_choice> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>label8</name> - <label>_Priority:</label> - <justify>GTK_JUSTIFY_CENTER</justify> + <climb_rate>1</climb_rate> + <digits>0</digits> + <numeric>False</numeric> + <update_policy>GTK_UPDATE_ALWAYS</update_policy> + <snap>False</snap> <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <default_focus_target>priority</default_focus_target> + <value>0</value> + <lower>0</lower> + <upper>100</upper> + <step>10</step> + <page>10</page> + <page_size>10</page_size> <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - </child> - </widget> - - <widget> - <class>GtkOptionMenu</class> - <name>priority</name> - <can_focus>True</can_focus> - <items>High -Normal -Low -Undefined -</items> - <initial_choice>0</initial_choice> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> + <left_attach>3</left_attach> + <right_attach>4</right_attach> + <top_attach>0</top_attach> + <bottom_attach>1</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>True</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>False</yfill> </child> </widget> <widget> - <class>GtkLabel</class> - <name>label18</name> - <label>C_lassification:</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <default_focus_target>classification</default_focus_target> + <class>Custom</class> + <name>due-date</name> + <creation_function>task_editor_create_date_edit</creation_function> + <int1>0</int1> + <int2>0</int2> + <last_modification_time>Sun, 10 Sep 2000 17:32:18 GMT</last_modification_time> <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> + <left_attach>1</left_attach> + <right_attach>2</right_attach> + <top_attach>0</top_attach> + <bottom_attach>1</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>True</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>False</yfill> </child> </widget> <widget> - <class>GtkOptionMenu</class> - <name>classification</name> - <can_focus>True</can_focus> - <items>None -Public -Private -Confidential -</items> - <initial_choice>0</initial_choice> + <class>Custom</class> + <name>start-date</name> + <creation_function>task_editor_create_date_edit</creation_function> + <int1>0</int1> + <int2>0</int2> + <last_modification_time>Sun, 10 Sep 2000 17:33:31 GMT</last_modification_time> <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> + <left_attach>1</left_attach> + <right_attach>2</right_attach> + <top_attach>1</top_attach> + <bottom_attach>2</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>True</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>False</yfill> </child> </widget> </widget> + </widget> + + <widget> + <class>GtkHSeparator</class> + <name>hseparator2</name> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>True</fill> + </child> + </widget> + + <widget> + <class>GtkHBox</class> + <name>hbox3</name> + <homogeneous>False</homogeneous> + <spacing>4</spacing> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>True</fill> + </child> <widget> - <class>GtkScrolledWindow</class> - <name>scrolledwindow1</name> - <height>150</height> - <hscrollbar_policy>GTK_POLICY_NEVER</hscrollbar_policy> - <vscrollbar_policy>GTK_POLICY_ALWAYS</vscrollbar_policy> - <hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy> - <vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy> + <class>GtkLabel</class> + <name>label7</name> + <label>_Status:</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <default_focus_target>status</default_focus_target> <child> <padding>0</padding> - <expand>True</expand> - <fill>True</fill> + <expand>False</expand> + <fill>False</fill> </child> - - <widget> - <class>GtkText</class> - <name>description</name> - <can_focus>True</can_focus> - <editable>True</editable> - <text></text> - </widget> </widget> <widget> - <class>GtkHBox</class> - <name>hbox2</name> - <homogeneous>False</homogeneous> - <spacing>2</spacing> + <class>GtkOptionMenu</class> + <name>status</name> + <can_focus>True</can_focus> + <items>Not Started +In Progress +Completed +Cancelled +</items> + <initial_choice>0</initial_choice> <child> <padding>0</padding> <expand>False</expand> - <fill>True</fill> + <fill>False</fill> </child> - - <widget> - <class>GtkButton</class> - <name>contacts-button</name> - <can_focus>True</can_focus> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - </child> - - <widget> - <class>GtkLabel</class> - <name>label16</name> - <label>_Contacts...</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>4</xpad> - <ypad>0</ypad> - </widget> - </widget> - - <widget> - <class>GtkEntry</class> - <name>contacts</name> - <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>categories-button</name> - <can_focus>True</can_focus> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - </child> - - <widget> - <class>GtkLabel</class> - <name>label17</name> - <label>Ca_tegories...</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>4</xpad> - <ypad>0</ypad> - </widget> - </widget> - - <widget> - <class>GtkEntry</class> - <name>categories</name> - <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> - </widget> - - <widget> - <class>GtkLabel</class> - <child_name>Notebook:tab</child_name> - <name>label1</name> - <label>Task</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - - <widget> - <class>GtkTable</class> - <name>table4</name> - <border_width>4</border_width> - <rows>2</rows> - <columns>2</columns> - <homogeneous>False</homogeneous> - <row_spacing>2</row_spacing> - <column_spacing>4</column_spacing> <widget> <class>GtkLabel</class> - <name>label12</name> - <label>Date Completed:</label> + <name>label8</name> + <label>_Priority:</label> <justify>GTK_JUSTIFY_CENTER</justify> <wrap>False</wrap> - <xalign>0</xalign> + <xalign>0.5</xalign> <yalign>0.5</yalign> <xpad>0</xpad> <ypad>0</ypad> + <default_focus_target>priority</default_focus_target> <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + + <widget> + <class>GtkOptionMenu</class> + <name>priority</name> + <can_focus>True</can_focus> + <items>High +Normal +Low +Undefined +</items> + <initial_choice>0</initial_choice> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> </child> </widget> <widget> <class>GtkLabel</class> - <name>label14</name> - <label>URL:</label> + <name>label18</name> + <label>C_lassification:</label> <justify>GTK_JUSTIFY_CENTER</justify> <wrap>False</wrap> - <xalign>0</xalign> + <xalign>0.5</xalign> <yalign>0.5</yalign> <xpad>0</xpad> <ypad>0</ypad> + <default_focus_target>classification</default_focus_target> <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + + <widget> + <class>GtkOptionMenu</class> + <name>classification</name> + <can_focus>True</can_focus> + <items>None +Public +Private +Confidential +</items> + <initial_choice>0</initial_choice> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + </widget> + + <widget> + <class>GtkScrolledWindow</class> + <name>scrolledwindow1</name> + <height>150</height> + <hscrollbar_policy>GTK_POLICY_NEVER</hscrollbar_policy> + <vscrollbar_policy>GTK_POLICY_ALWAYS</vscrollbar_policy> + <hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy> + <vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkText</class> + <name>description</name> + <can_focus>True</can_focus> + <editable>True</editable> + <text></text> + </widget> + </widget> + + <widget> + <class>GtkHBox</class> + <name>hbox2</name> + <homogeneous>False</homogeneous> + <spacing>2</spacing> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkButton</class> + <name>contacts-button</name> + <can_focus>True</can_focus> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> </child> + + <widget> + <class>GtkLabel</class> + <name>label16</name> + <label>_Contacts...</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>4</xpad> + <ypad>0</ypad> + </widget> </widget> <widget> <class>GtkEntry</class> - <name>url</name> + <name>contacts</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>1</left_attach> - <right_attach>2</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> </child> </widget> <widget> - <class>Custom</class> - <name>completed-date</name> - <creation_function>task_editor_create_date_edit</creation_function> - <int1>0</int1> - <int2>0</int2> - <last_modification_time>Sun, 10 Sep 2000 17:34:07 GMT</last_modification_time> + <class>GtkButton</class> + <name>categories-button</name> + <can_focus>True</can_focus> <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + + <widget> + <class>GtkLabel</class> + <name>label17</name> + <label>Ca_tegories...</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>4</xpad> <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> + </widget> + </widget> + + <widget> + <class>GtkEntry</class> + <name>categories</name> + <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> + </widget> + + <widget> + <class>GtkLabel</class> + <child_name>Notebook:tab</child_name> + <name>label1</name> + <label>Task</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + </widget> + + <widget> + <class>GtkTable</class> + <name>table4</name> + <border_width>4</border_width> + <rows>2</rows> + <columns>2</columns> + <homogeneous>False</homogeneous> + <row_spacing>2</row_spacing> + <column_spacing>4</column_spacing> + + <widget> + <class>GtkLabel</class> + <name>label12</name> + <label>Date Completed:</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>0</left_attach> + <right_attach>1</right_attach> + <top_attach>0</top_attach> + <bottom_attach>1</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>False</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>False</yfill> + </child> + </widget> <widget> <class>GtkLabel</class> - <child_name>Notebook:tab</child_name> - <name>label2</name> - <label>Details</label> + <name>label14</name> + <label>URL:</label> <justify>GTK_JUSTIFY_CENTER</justify> <wrap>False</wrap> - <xalign>0.5</xalign> + <xalign>0</xalign> <yalign>0.5</yalign> <xpad>0</xpad> <ypad>0</ypad> + <child> + <left_attach>0</left_attach> + <right_attach>1</right_attach> + <top_attach>1</top_attach> + <bottom_attach>2</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>False</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>False</yfill> + </child> </widget> + + <widget> + <class>GtkEntry</class> + <name>url</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>1</left_attach> + <right_attach>2</right_attach> + <top_attach>1</top_attach> + <bottom_attach>2</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>True</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>False</yfill> + </child> + </widget> + + <widget> + <class>Custom</class> + <name>completed-date</name> + <creation_function>task_editor_create_date_edit</creation_function> + <int1>0</int1> + <int2>0</int2> + <last_modification_time>Sun, 10 Sep 2000 17:34:07 GMT</last_modification_time> + <child> + <left_attach>1</left_attach> + <right_attach>2</right_attach> + <top_attach>0</top_attach> + <bottom_attach>1</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>True</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>False</yfill> + </child> + </widget> + </widget> + + <widget> + <class>GtkLabel</class> + <child_name>Notebook:tab</child_name> + <name>label2</name> + <label>Details</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> </widget> </widget> </widget> diff --git a/calendar/gui/dialogs/task-editor.c b/calendar/gui/dialogs/task-editor.c index 45961ded2b..936da0f8db 100644 --- a/calendar/gui/dialogs/task-editor.c +++ b/calendar/gui/dialogs/task-editor.c @@ -49,9 +49,6 @@ typedef struct { /* Glade XML data */ GladeXML *xml; - /* UI handler */ - BonoboUIComponent *uic; - /* Client to use */ CalClient *client; @@ -131,9 +128,9 @@ static const int classification_map[] = { static void task_editor_class_init (TaskEditorClass *class); static void task_editor_init (TaskEditor *tedit); -static gint app_delete_event_cb (GtkWidget *widget, - GdkEvent *event, - gpointer data); +static void tedit_apply_event_cb (GtkWidget *widget, gint page_num, gpointer data); +static gint tedit_close_event_cb (GtkWidget *widget, gpointer data); +static gint tedit_delete_event_cb (GtkWidget *widget, GdkEvent *event, gpointer data); static void close_dialog (TaskEditor *tedit); static gboolean get_widgets (TaskEditor *tedit); static void init_widgets (TaskEditor *tedit); @@ -143,13 +140,6 @@ static void set_title_from_comp (TaskEditor *tedit, CalComponent *comp); static void clear_widgets (TaskEditor *tedit); static void fill_widgets (TaskEditor *tedit); -static void file_save_cb (BonoboUIComponent *uic, gpointer data, const char *path); -static void file_save_and_close_cb (BonoboUIComponent *uic, gpointer data, const char *path); -static void file_delete_cb (BonoboUIComponent *uic, gpointer data, const char *path); -static void file_close_cb (BonoboUIComponent *uic, gpointer data, const char *path); - -static void debug_xml_cb (BonoboUIComponent *uic, gpointer data, const char *path); - static void save_todo_object (TaskEditor *tedit); static void dialog_to_comp_object (TaskEditor *tedit); @@ -225,18 +215,6 @@ task_editor_new (void) return task_editor_construct (tedit); } -static BonoboUIVerb verbs [] = { - - BONOBO_UI_VERB ("FileSave", file_save_cb), - BONOBO_UI_VERB ("FileDelete", file_delete_cb), - BONOBO_UI_VERB ("FileClose", file_close_cb), - BONOBO_UI_VERB ("FileSaveAndClose", file_save_and_close_cb), - - BONOBO_UI_VERB ("DebugDumpXml", debug_xml_cb), - - BONOBO_UI_VERB_END -}; - /** * task_editor_construct: * @tedit: A #TaskEditor. @@ -251,7 +229,6 @@ TaskEditor * task_editor_construct (TaskEditor *tedit) { TaskEditorPrivate *priv; - GtkWidget *bonobo_win; g_return_val_if_fail (tedit != NULL, NULL); g_return_val_if_fail (IS_TASK_EDITOR (tedit), NULL); @@ -273,53 +250,17 @@ task_editor_construct (TaskEditor *tedit) init_widgets (tedit); - /* Construct the app */ - - priv->uic = bonobo_ui_component_new ("task-editor-dialog"); - if (!priv->uic) { - g_message ("task_editor_construct(): Could not create the UI component"); - goto error; - } - - bonobo_win = bonobo_window_new ("event-editor-dialog", "Event Editor"); - - /* FIXME: The sucking bit */ - { - GtkWidget *contents; - - contents = gnome_dock_get_client_area ( - GNOME_DOCK (GNOME_APP (priv->app)->dock)); - if (!contents) { - g_message ("event_editor_construct(): Could not get contents"); - goto error; - } - gtk_widget_ref (contents); - gtk_container_remove (GTK_CONTAINER (contents->parent), contents); - bonobo_window_set_contents (BONOBO_WINDOW (bonobo_win), contents); - gtk_widget_destroy (priv->app); - priv->app = GTK_WIDGET (bonobo_win); - } - - { - BonoboUIContainer *container = bonobo_ui_container_new (); - bonobo_ui_container_set_win (container, BONOBO_WINDOW (priv->app)); - bonobo_ui_component_set_container ( - priv->uic, bonobo_object_corba_objref (BONOBO_OBJECT (container))); - } - - bonobo_ui_component_add_verb_list_with_data ( - priv->uic, verbs, tedit); - - bonobo_ui_util_set_ui (priv->uic, EVOLUTION_DATADIR, - "evolution-task-editor-dialog.xml", - "evolution-task-editor"); - /* Hook to destruction of the dialog */ + gtk_signal_connect (GTK_OBJECT (priv->app), "apply", + GTK_SIGNAL_FUNC (tedit_apply_event_cb), tedit); + gtk_signal_connect (GTK_OBJECT (priv->app), "close", + GTK_SIGNAL_FUNC (tedit_close_event_cb), tedit); gtk_signal_connect (GTK_OBJECT (priv->app), "delete_event", - GTK_SIGNAL_FUNC (app_delete_event_cb), tedit); + GTK_SIGNAL_FUNC (tedit_delete_event_cb), tedit); + + /* Add focus to the summary entry */ + gtk_widget_grab_focus (GTK_WIDGET (priv->summary)); - /* Show the dialog */ - gtk_widget_show (priv->app); return tedit; @@ -342,10 +283,41 @@ task_editor_create_date_edit (void) return dedit; } +/* Callback used when the dialog box is destroyed */ +static void +tedit_apply_event_cb (GtkWidget *widget, gint page_num, gpointer data) +{ + TaskEditor *tedit; + + g_return_if_fail (IS_TASK_EDITOR (data)); + + tedit = TASK_EDITOR (data); + + if (page_num != -1) + return; + + save_todo_object (tedit); +} + +/* Callback used when the dialog box is destroyed */ +static gint +tedit_close_event_cb (GtkWidget *widget, gpointer data) +{ + TaskEditor *tedit; + + g_return_val_if_fail (IS_TASK_EDITOR (data), TRUE); + + tedit = TASK_EDITOR (data); + + if (prompt_to_save_changes (tedit)) + close_dialog (tedit); + + return TRUE; +} /* Callback used when the dialog box is destroyed */ static gint -app_delete_event_cb (GtkWidget *widget, GdkEvent *event, gpointer data) +tedit_delete_event_cb (GtkWidget *widget, GdkEvent *event, gpointer data) { TaskEditor *tedit; @@ -490,11 +462,6 @@ task_editor_destroy (GtkObject *object) tedit = TASK_EDITOR (object); priv = tedit->priv; - if (priv->uic) { - bonobo_object_unref (BONOBO_OBJECT (priv->uic)); - priv->uic = NULL; - } - if (priv->app) { gtk_widget_destroy (priv->app); priv->app = NULL; @@ -680,6 +647,18 @@ task_editor_set_todo_object (TaskEditor *tedit, fill_widgets (tedit); } +void +task_editor_focus (TaskEditor *tedit) +{ + TaskEditorPrivate *priv; + + g_return_if_fail (tedit != NULL); + g_return_if_fail (IS_TASK_EDITOR (tedit)); + + priv = tedit->priv; + gtk_widget_show_now (priv->app); + raise_and_focus (priv->app); +} /* Creates an appropriate title for the task editor dialog */ static char * @@ -1019,80 +998,6 @@ dialog_to_comp_object (TaskEditor *tedit) cal_component_commit_sequence (comp); } -static void -debug_xml_cb (BonoboUIComponent *uic, gpointer data, const char *path) -{ - TaskEditor *tedit = TASK_EDITOR (data); - TaskEditorPrivate *priv = tedit->priv; - - bonobo_window_dump (BONOBO_WINDOW (priv->app), "on demand"); -} - -/* File/Save callback */ -static void -file_save_cb (BonoboUIComponent *uic, gpointer data, const char *path) -{ - TaskEditor *tedit; - - tedit = TASK_EDITOR (data); - save_todo_object (tedit); -} - -/* File/Save and Close callback */ -static void -file_save_and_close_cb (BonoboUIComponent *uic, gpointer data, const char *path) -{ - TaskEditor *tedit; - - tedit = TASK_EDITOR (data); - save_todo_object (tedit); - close_dialog (tedit); -} - -/* File/Delete callback */ -static void -file_delete_cb (BonoboUIComponent *uic, gpointer data, const char *path) -{ - TaskEditor *tedit; - TaskEditorPrivate *priv; - - tedit = TASK_EDITOR (data); - - g_return_if_fail (IS_TASK_EDITOR (tedit)); - - priv = tedit->priv; - - g_return_if_fail (priv->comp); - - if (delete_component_dialog (priv->comp, priv->app)) { - const char *uid; - - cal_component_get_uid (priv->comp, &uid); - - /* We don't check the return value; FALSE can mean the object - * was not in the server anyways. - */ - cal_client_remove_object (priv->client, uid); - - close_dialog (tedit); - } -} - -/* File/Close callback */ -static void -file_close_cb (BonoboUIComponent *uic, gpointer data, const char *path) -{ - TaskEditor *tedit; - - g_return_if_fail (IS_TASK_EDITOR (data)); - - tedit = TASK_EDITOR (data); - - if (prompt_to_save_changes (tedit)) - close_dialog (tedit); -} - - static TaskEditorPriority priority_value_to_index (int priority_value) { @@ -1279,6 +1184,9 @@ task_editor_set_changed (TaskEditor *tedit, #endif priv->changed = changed; + + if (priv->app) + gnome_property_box_set_state (GNOME_PROPERTY_BOX (priv->app), changed); } diff --git a/calendar/gui/dialogs/task-editor.h b/calendar/gui/dialogs/task-editor.h index 69e3bd41d8..7327803a72 100644 --- a/calendar/gui/dialogs/task-editor.h +++ b/calendar/gui/dialogs/task-editor.h @@ -54,15 +54,15 @@ struct _TaskEditorClass GtkObjectClass parent_class; }; +GtkType task_editor_get_type (void); +TaskEditor* task_editor_construct (TaskEditor *tedit); +TaskEditor* task_editor_new (void); +void task_editor_set_cal_client (TaskEditor *tedit, + CalClient *client); +void task_editor_set_todo_object (TaskEditor *tedit, + CalComponent *comp); +void task_editor_focus (TaskEditor *tedit); -GtkType task_editor_get_type (void); -TaskEditor* task_editor_construct (TaskEditor *tedit); -TaskEditor* task_editor_new (void); - -void task_editor_set_cal_client (TaskEditor *tedit, - CalClient *client); -void task_editor_set_todo_object (TaskEditor *tedit, - CalComponent *comp); END_GNOME_DECLS diff --git a/calendar/gui/dialogs/task-page.glade b/calendar/gui/dialogs/task-page.glade index 000cb42cbd..98fc85ecf0 100644 --- a/calendar/gui/dialogs/task-page.glade +++ b/calendar/gui/dialogs/task-page.glade @@ -15,23 +15,28 @@ </project> <widget> - <class>GnomeApp</class> + <class>GnomePropertyBox</class> <name>task-editor-dialog</name> <visible>False</visible> - <title>task-editor-dialog</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> + <allow_grow>False</allow_grow> <auto_shrink>False</auto_shrink> - <enable_layout_config>True</enable_layout_config> <widget> - <class>GnomeDock</class> - <child_name>GnomeApp:dock</child_name> - <name>dock1</name> - <allow_floating>True</allow_floating> + <class>GtkNotebook</class> + <child_name>GnomeDock:contents</child_name> + <name>notebook1</name> + <border_width>2</border_width> + <can_focus>True</can_focus> + <show_tabs>True</show_tabs> + <show_border>True</show_border> + <tab_pos>GTK_POS_TOP</tab_pos> + <scrollable>False</scrollable> + <tab_hborder>2</tab_hborder> + <tab_vborder>2</tab_vborder> + <popup_enable>False</popup_enable> <child> <padding>0</padding> <expand>True</expand> @@ -39,33 +44,106 @@ </child> <widget> - <class>GtkNotebook</class> - <child_name>GnomeDock:contents</child_name> - <name>notebook1</name> - <border_width>2</border_width> - <can_focus>True</can_focus> - <show_tabs>True</show_tabs> - <show_border>True</show_border> - <tab_pos>GTK_POS_TOP</tab_pos> - <scrollable>False</scrollable> - <tab_hborder>2</tab_hborder> - <tab_vborder>2</tab_vborder> - <popup_enable>False</popup_enable> + <class>GtkVBox</class> + <name>vbox1</name> + <border_width>4</border_width> + <homogeneous>False</homogeneous> + <spacing>4</spacing> <widget> - <class>GtkVBox</class> - <name>vbox1</name> - <border_width>4</border_width> + <class>GtkTable</class> + <name>table3</name> + <rows>1</rows> + <columns>2</columns> <homogeneous>False</homogeneous> - <spacing>4</spacing> + <row_spacing>4</row_spacing> + <column_spacing>4</column_spacing> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkLabel</class> + <name>label3</name> + <label>Su_mmary</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <default_focus_target>summary</default_focus_target> + <child> + <left_attach>0</left_attach> + <right_attach>1</right_attach> + <top_attach>0</top_attach> + <bottom_attach>1</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>False</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>False</xfill> + <yfill>False</yfill> + </child> + </widget> + + <widget> + <class>GtkEntry</class> + <name>summary</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>1</left_attach> + <right_attach>2</right_attach> + <top_attach>0</top_attach> + <bottom_attach>1</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>True</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>False</yfill> + </child> + </widget> + </widget> + + <widget> + <class>GtkHSeparator</class> + <name>hseparator1</name> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>True</fill> + </child> + </widget> + + <widget> + <class>GtkHBox</class> + <name>hbox4</name> + <homogeneous>False</homogeneous> + <spacing>0</spacing> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>True</fill> + </child> <widget> <class>GtkTable</class> - <name>table3</name> - <rows>1</rows> - <columns>2</columns> + <name>table1</name> + <rows>2</rows> + <columns>4</columns> <homogeneous>False</homogeneous> - <row_spacing>4</row_spacing> + <row_spacing>2</row_spacing> <column_spacing>4</column_spacing> <child> <padding>0</padding> @@ -75,47 +153,48 @@ <widget> <class>GtkLabel</class> - <name>label3</name> - <label>Su_mmary</label> + <name>label6</name> + <label>Sta_rt Date:</label> <justify>GTK_JUSTIFY_CENTER</justify> <wrap>False</wrap> - <xalign>0.5</xalign> + <xalign>0</xalign> <yalign>0.5</yalign> <xpad>0</xpad> <ypad>0</ypad> - <default_focus_target>summary</default_focus_target> <child> <left_attach>0</left_attach> <right_attach>1</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> + <top_attach>1</top_attach> + <bottom_attach>2</bottom_attach> <xpad>0</xpad> <ypad>0</ypad> <xexpand>False</xexpand> <yexpand>False</yexpand> <xshrink>False</xshrink> <yshrink>False</yshrink> - <xfill>False</xfill> + <xfill>True</xfill> <yfill>False</yfill> </child> </widget> <widget> - <class>GtkEntry</class> - <name>summary</name> - <can_focus>True</can_focus> - <editable>True</editable> - <text_visible>True</text_visible> - <text_max_length>0</text_max_length> - <text></text> + <class>GtkLabel</class> + <name>label5</name> + <label>_Due Date:</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> + <left_attach>0</left_attach> + <right_attach>1</right_attach> <top_attach>0</top_attach> <bottom_attach>1</bottom_attach> <xpad>0</xpad> <ypad>0</ypad> - <xexpand>True</xexpand> + <xexpand>False</xexpand> <yexpand>False</yexpand> <xshrink>False</xshrink> <yshrink>False</yshrink> @@ -123,577 +202,488 @@ <yfill>False</yfill> </child> </widget> - </widget> - - <widget> - <class>GtkHSeparator</class> - <name>hseparator1</name> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>True</fill> - </child> - </widget> - - <widget> - <class>GtkHBox</class> - <name>hbox4</name> - <homogeneous>False</homogeneous> - <spacing>0</spacing> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>True</fill> - </child> - - <widget> - <class>GtkTable</class> - <name>table1</name> - <rows>2</rows> - <columns>4</columns> - <homogeneous>False</homogeneous> - <row_spacing>2</row_spacing> - <column_spacing>4</column_spacing> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>True</fill> - </child> - - <widget> - <class>GtkLabel</class> - <name>label6</name> - <label>Sta_rt Date:</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>0</left_attach> - <right_attach>1</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>label5</name> - <label>_Due Date:</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>0</left_attach> - <right_attach>1</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>label9</name> - <label>% Comp_lete:</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <default_focus_target>percent-complete</default_focus_target> - <child> - <left_attach>2</left_attach> - <right_attach>3</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkSpinButton</class> - <name>percent-complete</name> - <width>60</width> - <can_focus>True</can_focus> - <climb_rate>1</climb_rate> - <digits>0</digits> - <numeric>False</numeric> - <update_policy>GTK_UPDATE_ALWAYS</update_policy> - <snap>False</snap> - <wrap>False</wrap> - <value>0</value> - <lower>0</lower> - <upper>100</upper> - <step>10</step> - <page>10</page> - <page_size>10</page_size> - <child> - <left_attach>3</left_attach> - <right_attach>4</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>Custom</class> - <name>due-date</name> - <creation_function>task_editor_create_date_edit</creation_function> - <int1>0</int1> - <int2>0</int2> - <last_modification_time>Sun, 10 Sep 2000 17:32:18 GMT</last_modification_time> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>Custom</class> - <name>start-date</name> - <creation_function>task_editor_create_date_edit</creation_function> - <int1>0</int1> - <int2>0</int2> - <last_modification_time>Sun, 10 Sep 2000 17:33:31 GMT</last_modification_time> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - </widget> - </widget> - - <widget> - <class>GtkHSeparator</class> - <name>hseparator2</name> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>True</fill> - </child> - </widget> - - <widget> - <class>GtkHBox</class> - <name>hbox3</name> - <homogeneous>False</homogeneous> - <spacing>4</spacing> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>True</fill> - </child> <widget> <class>GtkLabel</class> - <name>label7</name> - <label>_Status:</label> + <name>label9</name> + <label>% Comp_lete:</label> <justify>GTK_JUSTIFY_CENTER</justify> <wrap>False</wrap> <xalign>0.5</xalign> <yalign>0.5</yalign> <xpad>0</xpad> <ypad>0</ypad> - <default_focus_target>status</default_focus_target> + <default_focus_target>percent-complete</default_focus_target> <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> + <left_attach>2</left_attach> + <right_attach>3</right_attach> + <top_attach>0</top_attach> + <bottom_attach>1</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>False</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>False</xfill> + <yfill>False</yfill> </child> </widget> <widget> - <class>GtkOptionMenu</class> - <name>status</name> + <class>GtkSpinButton</class> + <name>percent-complete</name> + <width>60</width> <can_focus>True</can_focus> - <items>Not Started -In Progress -Completed -Cancelled -</items> - <initial_choice>0</initial_choice> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>label8</name> - <label>_Priority:</label> - <justify>GTK_JUSTIFY_CENTER</justify> + <climb_rate>1</climb_rate> + <digits>0</digits> + <numeric>False</numeric> + <update_policy>GTK_UPDATE_ALWAYS</update_policy> + <snap>False</snap> <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <default_focus_target>priority</default_focus_target> + <value>0</value> + <lower>0</lower> + <upper>100</upper> + <step>10</step> + <page>10</page> + <page_size>10</page_size> <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - </child> - </widget> - - <widget> - <class>GtkOptionMenu</class> - <name>priority</name> - <can_focus>True</can_focus> - <items>High -Normal -Low -Undefined -</items> - <initial_choice>0</initial_choice> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> + <left_attach>3</left_attach> + <right_attach>4</right_attach> + <top_attach>0</top_attach> + <bottom_attach>1</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>True</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>False</yfill> </child> </widget> <widget> - <class>GtkLabel</class> - <name>label18</name> - <label>C_lassification:</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <default_focus_target>classification</default_focus_target> + <class>Custom</class> + <name>due-date</name> + <creation_function>task_editor_create_date_edit</creation_function> + <int1>0</int1> + <int2>0</int2> + <last_modification_time>Sun, 10 Sep 2000 17:32:18 GMT</last_modification_time> <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> + <left_attach>1</left_attach> + <right_attach>2</right_attach> + <top_attach>0</top_attach> + <bottom_attach>1</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>True</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>False</yfill> </child> </widget> <widget> - <class>GtkOptionMenu</class> - <name>classification</name> - <can_focus>True</can_focus> - <items>None -Public -Private -Confidential -</items> - <initial_choice>0</initial_choice> + <class>Custom</class> + <name>start-date</name> + <creation_function>task_editor_create_date_edit</creation_function> + <int1>0</int1> + <int2>0</int2> + <last_modification_time>Sun, 10 Sep 2000 17:33:31 GMT</last_modification_time> <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> + <left_attach>1</left_attach> + <right_attach>2</right_attach> + <top_attach>1</top_attach> + <bottom_attach>2</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>True</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>False</yfill> </child> </widget> </widget> + </widget> + + <widget> + <class>GtkHSeparator</class> + <name>hseparator2</name> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>True</fill> + </child> + </widget> + + <widget> + <class>GtkHBox</class> + <name>hbox3</name> + <homogeneous>False</homogeneous> + <spacing>4</spacing> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>True</fill> + </child> <widget> - <class>GtkScrolledWindow</class> - <name>scrolledwindow1</name> - <height>150</height> - <hscrollbar_policy>GTK_POLICY_NEVER</hscrollbar_policy> - <vscrollbar_policy>GTK_POLICY_ALWAYS</vscrollbar_policy> - <hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy> - <vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy> + <class>GtkLabel</class> + <name>label7</name> + <label>_Status:</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <default_focus_target>status</default_focus_target> <child> <padding>0</padding> - <expand>True</expand> - <fill>True</fill> + <expand>False</expand> + <fill>False</fill> </child> - - <widget> - <class>GtkText</class> - <name>description</name> - <can_focus>True</can_focus> - <editable>True</editable> - <text></text> - </widget> </widget> <widget> - <class>GtkHBox</class> - <name>hbox2</name> - <homogeneous>False</homogeneous> - <spacing>2</spacing> + <class>GtkOptionMenu</class> + <name>status</name> + <can_focus>True</can_focus> + <items>Not Started +In Progress +Completed +Cancelled +</items> + <initial_choice>0</initial_choice> <child> <padding>0</padding> <expand>False</expand> - <fill>True</fill> + <fill>False</fill> </child> - - <widget> - <class>GtkButton</class> - <name>contacts-button</name> - <can_focus>True</can_focus> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - </child> - - <widget> - <class>GtkLabel</class> - <name>label16</name> - <label>_Contacts...</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>4</xpad> - <ypad>0</ypad> - </widget> - </widget> - - <widget> - <class>GtkEntry</class> - <name>contacts</name> - <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>categories-button</name> - <can_focus>True</can_focus> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - </child> - - <widget> - <class>GtkLabel</class> - <name>label17</name> - <label>Ca_tegories...</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>4</xpad> - <ypad>0</ypad> - </widget> - </widget> - - <widget> - <class>GtkEntry</class> - <name>categories</name> - <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> - </widget> - - <widget> - <class>GtkLabel</class> - <child_name>Notebook:tab</child_name> - <name>label1</name> - <label>Task</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - - <widget> - <class>GtkTable</class> - <name>table4</name> - <border_width>4</border_width> - <rows>2</rows> - <columns>2</columns> - <homogeneous>False</homogeneous> - <row_spacing>2</row_spacing> - <column_spacing>4</column_spacing> <widget> <class>GtkLabel</class> - <name>label12</name> - <label>Date Completed:</label> + <name>label8</name> + <label>_Priority:</label> <justify>GTK_JUSTIFY_CENTER</justify> <wrap>False</wrap> - <xalign>0</xalign> + <xalign>0.5</xalign> <yalign>0.5</yalign> <xpad>0</xpad> <ypad>0</ypad> + <default_focus_target>priority</default_focus_target> <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + + <widget> + <class>GtkOptionMenu</class> + <name>priority</name> + <can_focus>True</can_focus> + <items>High +Normal +Low +Undefined +</items> + <initial_choice>0</initial_choice> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> </child> </widget> <widget> <class>GtkLabel</class> - <name>label14</name> - <label>URL:</label> + <name>label18</name> + <label>C_lassification:</label> <justify>GTK_JUSTIFY_CENTER</justify> <wrap>False</wrap> - <xalign>0</xalign> + <xalign>0.5</xalign> <yalign>0.5</yalign> <xpad>0</xpad> <ypad>0</ypad> + <default_focus_target>classification</default_focus_target> <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + + <widget> + <class>GtkOptionMenu</class> + <name>classification</name> + <can_focus>True</can_focus> + <items>None +Public +Private +Confidential +</items> + <initial_choice>0</initial_choice> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + </widget> + + <widget> + <class>GtkScrolledWindow</class> + <name>scrolledwindow1</name> + <height>150</height> + <hscrollbar_policy>GTK_POLICY_NEVER</hscrollbar_policy> + <vscrollbar_policy>GTK_POLICY_ALWAYS</vscrollbar_policy> + <hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy> + <vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkText</class> + <name>description</name> + <can_focus>True</can_focus> + <editable>True</editable> + <text></text> + </widget> + </widget> + + <widget> + <class>GtkHBox</class> + <name>hbox2</name> + <homogeneous>False</homogeneous> + <spacing>2</spacing> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkButton</class> + <name>contacts-button</name> + <can_focus>True</can_focus> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> </child> + + <widget> + <class>GtkLabel</class> + <name>label16</name> + <label>_Contacts...</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>4</xpad> + <ypad>0</ypad> + </widget> </widget> <widget> <class>GtkEntry</class> - <name>url</name> + <name>contacts</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>1</left_attach> - <right_attach>2</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> </child> </widget> <widget> - <class>Custom</class> - <name>completed-date</name> - <creation_function>task_editor_create_date_edit</creation_function> - <int1>0</int1> - <int2>0</int2> - <last_modification_time>Sun, 10 Sep 2000 17:34:07 GMT</last_modification_time> + <class>GtkButton</class> + <name>categories-button</name> + <can_focus>True</can_focus> <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + + <widget> + <class>GtkLabel</class> + <name>label17</name> + <label>Ca_tegories...</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>4</xpad> <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> + </widget> + </widget> + + <widget> + <class>GtkEntry</class> + <name>categories</name> + <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> + </widget> + + <widget> + <class>GtkLabel</class> + <child_name>Notebook:tab</child_name> + <name>label1</name> + <label>Task</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + </widget> + + <widget> + <class>GtkTable</class> + <name>table4</name> + <border_width>4</border_width> + <rows>2</rows> + <columns>2</columns> + <homogeneous>False</homogeneous> + <row_spacing>2</row_spacing> + <column_spacing>4</column_spacing> + + <widget> + <class>GtkLabel</class> + <name>label12</name> + <label>Date Completed:</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>0</left_attach> + <right_attach>1</right_attach> + <top_attach>0</top_attach> + <bottom_attach>1</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>False</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>False</yfill> + </child> + </widget> <widget> <class>GtkLabel</class> - <child_name>Notebook:tab</child_name> - <name>label2</name> - <label>Details</label> + <name>label14</name> + <label>URL:</label> <justify>GTK_JUSTIFY_CENTER</justify> <wrap>False</wrap> - <xalign>0.5</xalign> + <xalign>0</xalign> <yalign>0.5</yalign> <xpad>0</xpad> <ypad>0</ypad> + <child> + <left_attach>0</left_attach> + <right_attach>1</right_attach> + <top_attach>1</top_attach> + <bottom_attach>2</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>False</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>False</yfill> + </child> </widget> + + <widget> + <class>GtkEntry</class> + <name>url</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>1</left_attach> + <right_attach>2</right_attach> + <top_attach>1</top_attach> + <bottom_attach>2</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>True</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>False</yfill> + </child> + </widget> + + <widget> + <class>Custom</class> + <name>completed-date</name> + <creation_function>task_editor_create_date_edit</creation_function> + <int1>0</int1> + <int2>0</int2> + <last_modification_time>Sun, 10 Sep 2000 17:34:07 GMT</last_modification_time> + <child> + <left_attach>1</left_attach> + <right_attach>2</right_attach> + <top_attach>0</top_attach> + <bottom_attach>1</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>True</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>False</yfill> + </child> + </widget> + </widget> + + <widget> + <class>GtkLabel</class> + <child_name>Notebook:tab</child_name> + <name>label2</name> + <label>Details</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> </widget> </widget> </widget> diff --git a/calendar/gui/e-calendar-table.c b/calendar/gui/e-calendar-table.c index ab3db722b1..eb3bf5e2b4 100644 --- a/calendar/gui/e-calendar-table.c +++ b/calendar/gui/e-calendar-table.c @@ -524,6 +524,8 @@ e_calendar_table_open_task (ECalendarTable *cal_table, comp = calendar_model_get_component (cal_table->model, row); task_editor_set_todo_object (tedit, comp); + + task_editor_focus (tedit); } diff --git a/calendar/gui/e-day-view.c b/calendar/gui/e-day-view.c index b84ce99157..bbf0732122 100644 --- a/calendar/gui/e-day-view.c +++ b/calendar/gui/e-day-view.c @@ -42,6 +42,7 @@ #include <gal/widgets/e-canvas.h> #include <gal/e-text/e-text.h> #include <gal/widgets/e-canvas-utils.h> +#include "e-meeting-edit.h" /* Images */ #include "bell.xpm" @@ -324,6 +325,8 @@ static void e_day_view_on_delete_occurrence (GtkWidget *widget, gpointer data); static void e_day_view_on_delete_appointment (GtkWidget *widget, gpointer data); +static void e_day_view_on_schedule_meet (GtkWidget *widget, + gpointer data); static void e_day_view_on_unrecur_appointment (GtkWidget *widget, gpointer data); static EDayViewEvent* e_day_view_get_popup_menu_event (EDayView *day_view); @@ -3008,6 +3011,10 @@ e_day_view_on_event_right_click (EDayView *day_view, }; static struct menu_item child_items[] = { + { N_("Schedule meeting"), (GtkSignalFunc) e_day_view_on_schedule_meet, NULL, TRUE }, + + { NULL, NULL, NULL, TRUE}, + { N_("Edit this appointment..."), (GtkSignalFunc) e_day_view_on_edit_appointment, NULL, TRUE }, { N_("Delete this appointment"), (GtkSignalFunc) e_day_view_on_delete_appointment, NULL, TRUE }, @@ -3018,6 +3025,7 @@ e_day_view_on_event_right_click (EDayView *day_view, static struct menu_item recur_child_items[] = { { N_("Make this appointment movable"), (GtkSignalFunc) e_day_view_on_unrecur_appointment, NULL, TRUE }, + { N_("Schedule meeting"), (GtkSignalFunc) e_day_view_on_schedule_meet, NULL, TRUE }, { NULL, NULL, NULL, TRUE}, @@ -3051,19 +3059,21 @@ e_day_view_on_event_right_click (EDayView *day_view, not_being_edited = TRUE; if (cal_component_has_recurrences (event->comp)) { - items = 7; + items = 8; context_menu = &recur_child_items[0]; context_menu[0].sensitive = not_being_edited; - context_menu[2].sensitive = not_being_edited; + context_menu[1].sensitive = not_being_edited; context_menu[3].sensitive = not_being_edited; context_menu[4].sensitive = not_being_edited; - context_menu[6].sensitive = have_selection; + context_menu[5].sensitive = not_being_edited; + context_menu[7].sensitive = have_selection; } else { - items = 4; + items = 6; context_menu = &child_items[0]; context_menu[0].sensitive = not_being_edited; - context_menu[1].sensitive = not_being_edited; - context_menu[3].sensitive = have_selection; + context_menu[2].sensitive = not_being_edited; + context_menu[3].sensitive = not_being_edited; + context_menu[5].sensitive = have_selection; } } @@ -3184,6 +3194,25 @@ e_day_view_on_delete_appointment (GtkWidget *widget, gpointer data) static void +e_day_view_on_schedule_meet (GtkWidget *widget, gpointer data) +{ + EDayView *day_view; + EDayViewEvent *event; + EMeetingEditor *editor; + + day_view = E_DAY_VIEW (data); + + event = e_day_view_get_popup_menu_event (day_view); + if (event == NULL) + return; + + editor = e_meeting_editor_new (event->comp, day_view->client); + + e_meeting_edit (editor); + e_meeting_editor_free (editor); +} + +static void e_day_view_on_unrecur_appointment (GtkWidget *widget, gpointer data) { EDayView *day_view; diff --git a/calendar/gui/e-meeting-edit.c b/calendar/gui/e-meeting-edit.c index e8280a151e..934c284ae7 100644 --- a/calendar/gui/e-meeting-edit.c +++ b/calendar/gui/e-meeting-edit.c @@ -21,6 +21,7 @@ */ #include <config.h> +#include <bonobo.h> #include <glade/glade.h> #include <ical.h> #include <widgets/meeting-time-sel/e-meeting-time-sel.h> @@ -54,7 +55,6 @@ struct _EMeetingEditorPrivate { CalComponent *comp; CalClient *client; icalcomponent *icalcomp, *vevent; - EventEditor *ee; gint numentries; /* How many attendees are there? */ gboolean dirty; /* Has anything changed? */ @@ -454,8 +454,6 @@ schedule_button_clicked_cb (GtkWidget *widget, gpointer data) cal_component_free_datetime (&cal_dtstart); cal_component_free_datetime (&cal_dtend); - event_editor_update_widgets (priv->ee); - priv->dirty = TRUE; } @@ -831,7 +829,7 @@ organizer_changed_cb (GtkWidget *widget, gpointer data) /* ------------------------------------------------------------ */ EMeetingEditor * -e_meeting_editor_new (CalComponent *comp, CalClient *client, EventEditor *ee) +e_meeting_editor_new (CalComponent *comp, CalClient *client) { EMeetingEditor *object; EMeetingEditorPrivate *priv; @@ -843,7 +841,6 @@ e_meeting_editor_new (CalComponent *comp, CalClient *client, EventEditor *ee) priv->comp = comp; priv->client = client; priv->icalcomp = cal_component_get_icalcomponent (comp); - priv->ee = ee; object->priv = priv; diff --git a/calendar/gui/e-meeting-edit.h b/calendar/gui/e-meeting-edit.h index 8d564b2a5e..e29453ecba 100644 --- a/calendar/gui/e-meeting-edit.h +++ b/calendar/gui/e-meeting-edit.h @@ -27,7 +27,6 @@ #include <glade/glade.h> #include <cal-util/cal-component.h> #include <cal-client/cal-client.h> -#include "event-editor.h" typedef struct _EMeetingEditor EMeetingEditor; @@ -36,8 +35,8 @@ struct _EMeetingEditor { }; -EMeetingEditor * e_meeting_editor_new (CalComponent *comp, CalClient *client, - EventEditor *ee); +EMeetingEditor * e_meeting_editor_new (CalComponent *comp, CalClient *client); + void e_meeting_edit (EMeetingEditor *editor); void e_meeting_editor_free (EMeetingEditor *editor); diff --git a/calendar/gui/event-editor.c b/calendar/gui/event-editor.c index 420d8136ae..51dc50d90c 100644 --- a/calendar/gui/event-editor.c +++ b/calendar/gui/event-editor.c @@ -117,9 +117,6 @@ struct _EventEditorPrivate { /* Glade XML data */ GladeXML *xml; - /* UI handler */ - BonoboUIComponent *uic; - /* Client to use */ CalClient *client; @@ -329,11 +326,6 @@ event_editor_destroy (GtkObject *object) ee = EVENT_EDITOR (object); priv = ee->priv; - if (priv->uic) { - bonobo_object_unref (BONOBO_OBJECT (priv->uic)); - priv->uic = NULL; - } - free_exception_clist_data (GTK_CLIST (priv->recurrence_exception_list)); if (priv->app) { @@ -1010,7 +1002,8 @@ get_widgets (EventEditor *ee) #undef GW - return (priv->general_summary + return (priv->app + && priv->general_summary && priv->start_time && priv->end_time && priv->all_day_event @@ -2484,120 +2477,41 @@ close_dialog (EventEditor *ee) +/* Callback used when the dialog box is "applied" */ static void -debug_xml_cb (BonoboUIComponent *uic, gpointer data, const char *path) -{ - EventEditor *ee = EVENT_EDITOR (data); - EventEditorPrivate *priv = ee->priv; - - bonobo_window_dump (BONOBO_WINDOW (priv->app), "on demand"); -} - -/* File/Save callback */ -static void -file_save_cb (BonoboUIComponent *uic, gpointer data, const char *path) -{ - EventEditor *ee; - - ee = EVENT_EDITOR (data); - save_event_object (ee); -} - -/* File/Save and Close callback */ -static void -file_save_and_close_cb (BonoboUIComponent *uic, gpointer data, const char *path) +ee_apply_event_cb (GtkWidget *widget, gint page_num, gpointer data) { EventEditor *ee; - ee = EVENT_EDITOR (data); - save_event_object (ee); - close_dialog (ee); -} - -/* File/Delete callback */ -static void -file_delete_cb (BonoboUIComponent *uic, gpointer data, const char *path) -{ - EventEditor *ee; - EventEditorPrivate *priv; + g_return_if_fail (IS_EVENT_EDITOR (data)); ee = EVENT_EDITOR (data); - g_return_if_fail (IS_EVENT_EDITOR (ee)); - - priv = ee->priv; - - g_return_if_fail (priv->comp); - - if (delete_component_dialog (priv->comp, priv->app)) { - const char *uid; - - cal_component_get_uid (priv->comp, &uid); - - /* We don't check the return value; FALSE can mean the object - * was not in the server anyways. - */ - cal_client_remove_object (priv->client, uid); - - close_dialog (ee); - } + if (page_num != -1) + return; + + save_event_object (ee); } -/* File/Close callback */ -static void -file_close_cb (BonoboUIComponent *uic, gpointer data, const char *path) +/* Callback used when the dialog box is destroyed */ +static gint +ee_close_event_cb (GtkWidget *widget, gpointer data) { EventEditor *ee; - g_return_if_fail (IS_EVENT_EDITOR (data)); + g_return_val_if_fail (IS_EVENT_EDITOR (data), TRUE); ee = EVENT_EDITOR (data); if (prompt_to_save_changes (ee)) close_dialog (ee); + + return TRUE; } -static void -schedule_meeting_cb (BonoboUIComponent *uic, gpointer data, const char *path) -{ - EventEditor *ee; - EventEditorPrivate *priv; - EMeetingEditor *editor; - - ee = EVENT_EDITOR (data); - - g_return_if_fail (IS_EVENT_EDITOR (ee)); - - priv = (EventEditorPrivate *)ee->priv; - - editor = e_meeting_editor_new (priv->comp, priv->client, ee); - e_meeting_edit (editor); - e_meeting_editor_free (editor); -} - - -/* - * NB. there is an insane amount of replication here between - * this and the task-editor. - */ -static BonoboUIVerb verbs [] = { - BONOBO_UI_VERB ("FileSave", file_save_cb), - BONOBO_UI_VERB ("FileDelete", file_delete_cb), - BONOBO_UI_VERB ("FileClose", file_close_cb), - BONOBO_UI_VERB ("FileSaveAndClose", file_save_and_close_cb), - - BONOBO_UI_VERB ("ActionScheduleMeeting", schedule_meeting_cb), - - BONOBO_UI_VERB ("DebugDumpXml", debug_xml_cb), - - BONOBO_UI_VERB_END -}; - - - /* Callback used when the dialog box is destroyed */ static gint -app_delete_event_cb (GtkWidget *widget, GdkEvent *event, gpointer data) +ee_delete_event_cb (GtkWidget *widget, GdkEvent *event, gpointer data) { EventEditor *ee; @@ -2625,7 +2539,6 @@ EventEditor * event_editor_construct (EventEditor *ee) { EventEditorPrivate *priv; - GtkWidget *bonobo_win; g_return_val_if_fail (ee != NULL, NULL); g_return_val_if_fail (IS_EVENT_EDITOR (ee), NULL); @@ -2647,59 +2560,17 @@ event_editor_construct (EventEditor *ee) init_widgets (ee); - priv->uic = bonobo_ui_component_new ("event-editor-dialog"); - if (!priv->uic) { - g_message ("task_editor_construct(): Could not create the UI component"); - goto error; - } - - /* Construct the app */ - bonobo_win = bonobo_window_new ("event-editor-dialog", "Event Editor"); - - /* FIXME: The sucking bit */ - { - GtkWidget *contents; - - contents = gnome_dock_get_client_area ( - GNOME_DOCK (GNOME_APP (priv->app)->dock)); - if (!contents) { - g_message ("event_editor_construct(): Could not get contents"); - goto error; - } - gtk_widget_ref (contents); - gtk_container_remove (GTK_CONTAINER (contents->parent), contents); - bonobo_window_set_contents (BONOBO_WINDOW (bonobo_win), contents); - gtk_widget_destroy (priv->app); - priv->app = bonobo_win; - } - - { - BonoboUIContainer *container = bonobo_ui_container_new (); - bonobo_ui_container_set_win (container, BONOBO_WINDOW (priv->app)); - bonobo_ui_component_set_container ( - priv->uic, bonobo_object_corba_objref (BONOBO_OBJECT (container))); - } - - bonobo_ui_component_add_verb_list_with_data (priv->uic, verbs, ee); - - bonobo_ui_util_set_ui (priv->uic, EVOLUTION_DATADIR, - "evolution-event-editor.xml", - "evolution-event-editor"); - /* Hook to destruction of the dialog */ - + gtk_signal_connect (GTK_OBJECT (priv->app), "apply", + GTK_SIGNAL_FUNC (ee_apply_event_cb), ee); + gtk_signal_connect (GTK_OBJECT (priv->app), "close", + GTK_SIGNAL_FUNC (ee_close_event_cb), ee); gtk_signal_connect (GTK_OBJECT (priv->app), "delete_event", - GTK_SIGNAL_FUNC (app_delete_event_cb), ee); - + GTK_SIGNAL_FUNC (ee_delete_event_cb), ee); /* Add focus to the summary entry */ - gtk_widget_grab_focus (GTK_WIDGET (priv->general_summary)); - /* Show the dialog */ - - gtk_widget_show (priv->app); - return ee; error: @@ -3408,6 +3279,9 @@ event_editor_set_changed (EventEditor *ee, #endif priv->changed = changed; + + if (priv->app) + gnome_property_box_set_state (GNOME_PROPERTY_BOX (priv->app), changed); } |