From 144db69758bcf971327694704421f5b5a5e3a0e8 Mon Sep 17 00:00:00 2001 From: Federico Mena Quintero Date: Fri, 26 May 2000 14:22:52 +0000 Subject: Put the main notebook directly under a simple GtkWindow. We are going to 2000-05-25 Federico Mena Quintero * gui/event-editor-dialog.glade: Put the main notebook directly under a simple GtkWindow. We are going to pull out the notebook and slap it into our custom-built GnomeApp, anwyays. * gui/event-editor.c: Made the EventEditor derive from GnomeApp. Added a BonoboUIHandler for its menu and toolbar. (make_title_from_ico): Create a nice title for the window. (get_widgets): Fetch the Glade widgets here instead of all over the place. (event_editor_new): Temporary hack to show the dialog here, just so that I can test it. * gui/Makefile.am (EXTRA_DIST): Added the Glade messages file. svn path=/trunk/; revision=3214 --- calendar/ChangeLog | 30 +- calendar/gui/Makefile.am | 21 +- calendar/gui/event-editor-dialog.glade | 3152 ++++++++++++++++---------------- calendar/gui/event-editor.c | 407 ++++- calendar/gui/event-editor.h | 58 +- 5 files changed, 2032 insertions(+), 1636 deletions(-) (limited to 'calendar') diff --git a/calendar/ChangeLog b/calendar/ChangeLog index 4930ec925c..a62b2c29f2 100644 --- a/calendar/ChangeLog +++ b/calendar/ChangeLog @@ -1,3 +1,19 @@ +2000-05-25 Federico Mena Quintero + + * gui/event-editor-dialog.glade: Put the main notebook directly + under a simple GtkWindow. We are going to pull out the notebook + and slap it into our custom-built GnomeApp, anwyays. + + * gui/event-editor.c: Made the EventEditor derive from GnomeApp. + Added a BonoboUIHandler for its menu and toolbar. + (make_title_from_ico): Create a nice title for the window. + (get_widgets): Fetch the Glade widgets here instead of all over + the place. + (event_editor_new): Temporary hack to show the dialog here, just + so that I can test it. + + * gui/Makefile.am (EXTRA_DIST): Added the Glade messages file. + 2000-05-25 Federico Mena Quintero * gui/main.c (init_bonobo): Do not initialize libglade twice. @@ -6,13 +22,6 @@ property, otherwise the calendar will not get loaded into the view. -2000-05-24 Federico Mena Quintero - - * gui/print.c (range_selector_new): New function to create the - custom range selector. - (print_dialog): New function to show the print dialog. - (print_calendar): Use the print dialog. - 2000-05-25 Christopher James Lahey * gui/main.c: Make it so that warnings don't crash calendar. @@ -39,6 +48,13 @@ * gui/evolution-calendar.gnorba: New. * gui/evolution-calendar.oafinfo: New. +2000-05-24 Federico Mena Quintero + + * gui/print.c (range_selector_new): New function to create the + custom range selector. + (print_dialog): New function to show the print dialog. + (print_calendar): Use the print dialog. + 2000-05-24 Christopher James Lahey * gui/Makefile.am: Added libepaned.a. diff --git a/calendar/gui/Makefile.am b/calendar/gui/Makefile.am index 7b4968a9c5..d1d65a344f 100644 --- a/calendar/gui/Makefile.am +++ b/calendar/gui/Makefile.am @@ -34,6 +34,8 @@ LINK_FLAGS = \ gladedir = $(datadir)/evolution/glade glade_DATA = event-editor-dialog.glade +glade_messages = event-editor-dialog.glade.h + bin_PROGRAMS = evolution-calendar evolution_calendar_SOURCES = \ @@ -110,15 +112,16 @@ gnorbadir = $(sysconfdir)/CORBA/servers gnorba_DATA = calendar-control.gnorba evolution-calendar.gnorba endif -EXTRA_DIST = \ - bell.xpm \ - recur.xpm \ - dayview.xpm \ - workweekview.xpm \ - weekview.xpm \ - monthview.xpm \ - yearview.xpm \ - calendar-control.gnorba \ +EXTRA_DIST = \ + $(glade_messages) \ + bell.xpm \ + recur.xpm \ + dayview.xpm \ + workweekview.xpm \ + weekview.xpm \ + monthview.xpm \ + yearview.xpm \ + calendar-control.gnorba \ calendar-control.oafinfo install-data-local: diff --git a/calendar/gui/event-editor-dialog.glade b/calendar/gui/event-editor-dialog.glade index 5f330db77f..7cd4852d67 100644 --- a/calendar/gui/event-editor-dialog.glade +++ b/calendar/gui/event-editor-dialog.glade @@ -14,114 +14,158 @@ False False True - event-editor-strings + event-editor-dialog.glade.h - GnomeDialog + GtkWindow event-editor-dialog - Edit appointment - GTK_WINDOW_DIALOG + window1 + GTK_WINDOW_TOPLEVEL GTK_WIN_POS_NONE False False - False + True False - False - False - GtkVBox - GnomeDialog:vbox - dialog-vbox1 - False - 8 - - 4 - True - True - + GtkNotebook + dialog-contents + True + True + True + GTK_POS_TOP + False + 2 + 2 + False - GtkHButtonBox - GnomeDialog:action_area - dialog-action_area1 - GTK_BUTTONBOX_END - 8 - 85 - 27 - 7 - 0 - - 0 - False - True - GTK_PACK_END - + GtkVBox + vbox2 + False + 0 - GtkButton - button1 - True - True - GNOME_STOCK_BUTTON_OK - + GtkHBox + hbox4 + False + 0 + + 0 + True + True + - - GtkButton - button2 - True - True - GNOME_STOCK_BUTTON_APPLY - + + GtkLabel + label13 + + GTK_JUSTIFY_CENTER + False + 0.5 + 0.5 + 0 + 0 + + 0 + False + False + + - - GtkButton - button3 - True - True - GNOME_STOCK_BUTTON_CANCEL + + GtkEntry + general-owner + True + True + True + 0 + + + 0 + True + True + + - - - - GtkNotebook - notebook2 - True - True - True - GTK_POS_TOP - False - 2 - 2 - False - - 0 - True - True - - GtkVBox - vbox2 + GtkHBox + hbox5 False 0 + + 0 + False + False + - GtkHBox - hbox4 - False - 0 + GtkLabel + label14 + + GTK_JUSTIFY_CENTER + False + 0.5 + 0.5 + 0 + 0 0 - True - True + False + False + + + + + GtkScrolledWindow + scrolledwindow1 + GTK_POLICY_NEVER + GTK_POLICY_ALWAYS + GTK_UPDATE_CONTINUOUS + GTK_UPDATE_CONTINUOUS + + 0 + False + False + + + + GtkText + general-summary + True + True + + + + + + GtkFrame + frame4 + + 0 + GTK_SHADOW_ETCHED_IN + + 0 + True + True + + + + GtkTable + table3 + 2 + 3 + False + 0 + 0 GtkLabel - label13 - + label15 + GTK_JUSTIFY_CENTER False 0.5 @@ -129,1377 +173,823 @@ 0 0 - 0 - False - False + 0 + 1 + 0 + 1 + 0 + 0 + False + False + False + False + False + False - GtkEntry - general-owner + GtkLabel + label16 + + GTK_JUSTIFY_CENTER + False + 0.5 + 0.5 + 0 + 0 + + 0 + 1 + 1 + 2 + 0 + 0 + False + False + False + False + False + False + + + + + Custom + start-time + make_date_edit_with_time + + + 0 + 0 + Tue, 16 May 2000 19:11:05 GMT + + 1 + 2 + 0 + 1 + 0 + 0 + True + False + False + False + True + True + + + + + Custom + end-time + make_date_edit_with_time + 0 + 0 + Tue, 16 May 2000 19:11:10 GMT + + 1 + 2 + 1 + 2 + 0 + 0 + False + False + False + False + True + True + + + + + GtkCheckButton + all-day-event True - True - True - 0 - + + False + True - 0 - True - True + 2 + 3 + 0 + 1 + 0 + 0 + False + False + False + False + False + False + + + + GtkFrame + frame6 + + 0 + GTK_SHADOW_ETCHED_IN + + 0 + True + True + - GtkHBox - hbox5 + GtkTable + table4 + 4 + 5 False - 0 - - 0 - False - False - + 0 + 0 - GtkLabel - label14 - - GTK_JUSTIFY_CENTER + GtkSpinButton + alarm-display-amount + True + 1 + 0 + True + GTK_UPDATE_ALWAYS + False False - 0.5 - 0.5 - 0 - 0 + 0 + 0 + 100 + 1 + 10 + 10 - 0 - False - False + 1 + 2 + 0 + 1 + 0 + 0 + True + False + False + False + True + False - - - GtkScrolledWindow - scrolledwindow1 - GTK_POLICY_NEVER - GTK_POLICY_ALWAYS - GTK_UPDATE_CONTINUOUS - GTK_UPDATE_CONTINUOUS - - 0 - False - False - + + GtkSpinButton + alarm-audio-amount + True + 1 + 0 + False + GTK_UPDATE_ALWAYS + False + False + 0 + 0 + 100 + 1 + 10 + 10 + + 1 + 2 + 1 + 2 + 0 + 0 + True + False + False + False + True + False + + - GtkText - general-summary + GtkSpinButton + alarm-program-amount True - True - + 1 + 0 + False + GTK_UPDATE_ALWAYS + False + False + 0 + 0 + 100 + 1 + 10 + 10 + + 1 + 2 + 2 + 3 + 0 + 0 + True + False + False + False + True + False + - - - GtkFrame - frame4 - - 0 - GTK_SHADOW_ETCHED_IN - - 0 - True - True - + + GtkSpinButton + alarm-mail-amount + True + 1 + 0 + False + GTK_UPDATE_ALWAYS + False + False + 0 + 0 + 100 + 1 + 10 + 10 + + 1 + 2 + 3 + 4 + 0 + 0 + True + False + False + False + True + False + + - GtkTable - table3 - 2 - 3 - False - 0 - 0 + GtkOptionMenu + alarm-display-unit + True + Minutes +Hours +Days + + 0 + + 2 + 3 + 0 + 1 + 0 + 0 + False + False + False + False + False + False + + - - GtkLabel - label15 - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 + + GtkOptionMenu + alarm-audio-unit + True + Minutes +Hours +Days + + 0 + + 2 + 3 + 1 + 2 0 0 - - 0 - 1 - 0 - 1 - 0 - 0 - False - False - False - False - False - False - - + False + False + False + False + False + False + + - - GtkLabel - label16 - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 + + GtkOptionMenu + alarm-program-unit + True + Minutes +Hours +Days + + 0 + + 2 + 3 + 2 + 3 0 0 - - 0 - 1 - 1 - 2 - 0 - 0 - False - False - False - False - False - False - - + False + False + False + False + False + False + + - - Custom - start-time - make_date_edit_with_time - - - 0 - 0 - Tue, 16 May 2000 19:11:05 GMT - - 1 - 2 - 0 - 1 - 0 - 0 - True - False - False - False - True - True - - + + GtkOptionMenu + alarm-mail-unit + True + Minutes +Hours +Days + + 0 + + 2 + 3 + 3 + 4 + 0 + 0 + False + False + False + False + False + False + + - - Custom - end-time - make_date_edit_with_time - 0 - 0 - Tue, 16 May 2000 19:11:10 GMT - - 1 - 2 - 1 - 2 - 0 - 0 - False - False - False - False - True - True - - + + GtkEntry + mail-to + True + True + True + 0 + + + 4 + 5 + 3 + 4 + 0 + 0 + True + False + False + False + True + False + + + + + GnomeFileEntry + run-program-file-entry + 10 + False + False + + 4 + 5 + 2 + 3 + 0 + 0 + True + False + False + False + True + False + - GtkCheckButton - all-day-event + GtkEntry + GnomeEntry:entry + run-program True - - False - True - - 2 - 3 - 0 - 1 - 0 - 0 - False - False - False - False - False - False - + True + True + 0 + - - - GtkFrame - frame6 - - 0 - GTK_SHADOW_ETCHED_IN - - 0 - True - True - + + GtkCheckButton + alarm-display + True + + False + True + + 0 + 1 + 0 + 1 + 0 + 0 + False + False + False + False + True + False + + - GtkTable - table4 - 4 - 5 - False - 0 - 0 + GtkCheckButton + alarm-audio + True + + False + True + + 0 + 1 + 1 + 2 + 0 + 0 + False + False + False + False + True + False + + - - GtkSpinButton - alarm-display-amount - True - 1 - 0 - True - GTK_UPDATE_ALWAYS - False - False - 0 - 0 - 100 - 1 - 10 - 10 - - 1 - 2 - 0 - 1 - 0 - 0 - True - False - False - False - True - False - - + + GtkCheckButton + alarm-program + True + + False + True + + 0 + 1 + 2 + 3 + 0 + 0 + False + False + False + False + True + False + + - - GtkSpinButton - alarm-audio-amount - True - 1 - 0 - False - GTK_UPDATE_ALWAYS - False - False - 0 - 0 - 100 - 1 - 10 - 10 - - 1 - 2 - 1 - 2 - 0 - 0 - True - False - False - False - True - False - - + + GtkCheckButton + alarm-mail + True + + False + True + + 0 + 1 + 3 + 4 + 0 + 0 + False + False + False + False + True + False + + - - GtkSpinButton - alarm-program-amount - True - 1 - 0 - False - GTK_UPDATE_ALWAYS - False - False - 0 - 0 - 100 - 1 - 10 - 10 - - 1 - 2 - 2 - 3 - 0 - 0 - True - False - False - False - True - False - - + + GtkLabel + label18 + + GTK_JUSTIFY_CENTER + False + 0.5 + 0.5 + 0 + 0 + + 3 + 4 + 3 + 4 + 0 + 0 + False + False + False + False + True + False + + - - GtkSpinButton - alarm-mail-amount - True - 1 - 0 - False - GTK_UPDATE_ALWAYS - False - False - 0 - 0 - 100 - 1 - 10 - 10 - - 1 - 2 - 3 - 4 - 0 - 0 - True - False - False - False - True - False - - + + GtkLabel + label17 + + GTK_JUSTIFY_CENTER + False + 0.5 + 0.5 + 0 + 0 + + 3 + 4 + 2 + 3 + 0 + 0 + False + False + False + False + True + False + + + + - - GtkOptionMenu - alarm-display-unit - True - Minutes -Hours -Days - - 0 - - 2 - 3 - 0 - 1 - 0 - 0 - False - False - False - False - False - False - - + + GtkFrame + frame5 + + 0 + GTK_SHADOW_ETCHED_IN + + 0 + True + True + - - GtkOptionMenu - alarm-audio-unit - True - Minutes -Hours -Days - - 0 - - 2 - 3 - 1 - 2 - 0 - 0 - False - False - False - False - False - False - - + + GtkHBox + hbox6 + False + 0 - - GtkOptionMenu - alarm-program-unit - True - Minutes -Hours -Days - - 0 - - 2 - 3 - 2 - 3 - 0 - 0 - False - False - False - False - False - False - - + + GtkRadioButton + classification-public + True + + True + True + classification_radio_group + + 0 + False + False + + - - GtkOptionMenu - alarm-mail-unit - True - Minutes -Hours -Days - - 0 - - 2 - 3 - 3 - 4 - 0 - 0 - False - False - False - False - False - False - - + + GtkRadioButton + classification-private + True + + False + True + classification_radio_group + + 0 + False + False + + - - GtkEntry - mail-to - True - True - True - 0 - - - 4 - 5 - 3 - 4 - 0 - 0 - True - False - False - False - True - False - - + + GtkRadioButton + classification-confidential + True + + False + True + classification_radio_group + + 0 + False + False + + + + + - - GnomeFileEntry - run-program-file-entry - 10 - False - False - - 4 - 5 - 2 - 3 - 0 - 0 - True - False - False - False - True - False - + + GtkLabel + Notebook:tab + label11 + + GTK_JUSTIFY_CENTER + False + 0.5 + 0.5 + 0 + 0 + - - GtkEntry - GnomeEntry:entry - run-program - True - True - True - 0 - - - + + GtkVBox + vbox3 + 4 + False + 0 + + + GtkFrame + frame8 + + 0 + GTK_SHADOW_ETCHED_IN + + 0 + False + True + + + + GtkHBox + hbox7 + False + 0 + + + GtkVBox + vbox4 + False + 0 + + 0 + False + False + - GtkCheckButton - alarm-display + GtkRadioButton + recurrence-rule-none True - - False + + True True + recurrence_rule_group - 0 - 1 - 0 - 1 - 0 - 0 - False - False - False - False - True - False + 0 + False + False - GtkCheckButton - alarm-audio + GtkRadioButton + recurrence-rule-daily True - + False True + recurrence_rule_group - 0 - 1 - 1 - 2 - 0 - 0 - False - False - False - False - True - False + 0 + False + False - GtkCheckButton - alarm-program + GtkRadioButton + recurrence-rule-weekly True - + False True + recurrence_rule_group - 0 - 1 - 2 - 3 - 0 - 0 - False - False - False - False - True - False + 0 + False + False - GtkCheckButton - alarm-mail + GtkRadioButton + recurrence-rule-monthly True - + False True + recurrence_rule_group - 0 - 1 - 3 - 4 - 0 - 0 - False - False - False - False - True - False - - - - - GtkLabel - label18 - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 - - 3 - 4 - 3 - 4 - 0 - 0 - False - False - False - False - True - False - - - - - GtkLabel - label17 - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 - - 3 - 4 - 2 - 3 - 0 - 0 - False - False - False - False - True - False - - - - - - - GtkFrame - frame5 - - 0 - GTK_SHADOW_ETCHED_IN - - 0 - True - True - - - - GtkHBox - hbox6 - False - 0 - - - GtkRadioButton - classification-public - True - - True - True - classification_radio_group - - 0 - False - False - - - - - GtkRadioButton - classification-private - True - - False - True - classification_radio_group - - 0 - False - False - - - - - GtkRadioButton - classification-confidential - True - - False - True - classification_radio_group - - 0 - False - False - - - - - - - - GtkLabel - Notebook:tab - label11 - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 - - - - GtkVBox - vbox3 - 4 - False - 0 - - - GtkFrame - frame8 - - 0 - GTK_SHADOW_ETCHED_IN - - 0 - False - True - - - - GtkHBox - hbox7 - False - 0 - - - GtkVBox - vbox4 - False - 0 - - 0 - False - False - - - - GtkRadioButton - recurrence-rule-none - True - - True - True - recurrence_rule_group - - 0 - False - False - - - - - GtkRadioButton - recurrence-rule-daily - True - - False - True - recurrence_rule_group - - 0 - False - False - - - - - GtkRadioButton - recurrence-rule-weekly - True - - False - True - recurrence_rule_group - - 0 - False - False - - - - - GtkRadioButton - recurrence-rule-monthly - True - - False - True - recurrence_rule_group - - 0 - False - False - - - - - GtkRadioButton - recurrence-rule-yearly - True - - False - True - recurrence_rule_group - - 0 - False - False - - - - - - GtkVSeparator - vseparator1 - - 0 - False - True - - - - - GtkNotebook - recurrence-rule-notebook - False - True - GTK_POS_TOP - False - 2 - 2 - False - - 0 - True - True - - - - Placeholder - - - - GtkLabel - Notebook:tab - label23 - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 - - - - GtkAlignment - alignment1 - 0.5 - 0.5 - 1 - 1 - - - GtkVBox - vbox7 - False - 0 - - - GtkHBox - hbox13 - False - 0 - - 0 - False - True - - - - GtkLabel - label31 - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 - - 0 - False - False - - - - - GtkSpinButton - recurrence-rule-daily-days - True - 1 - 0 - False - GTK_UPDATE_ALWAYS - False - False - 1 - 0 - 100 - 1 - 10 - 10 - - 0 - False - True - - - - - GtkLabel - label32 - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 - - 0 - False - False - - - - - - - - GtkLabel - Notebook:tab - label24 - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 - - - - GtkVBox - vbox8 - False - 0 - - - GtkHBox - hbox14 - False - 0 - - 0 - False - True - - - - GtkLabel - label33 - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 - - 0 - False - False - - - - - GtkSpinButton - recurrence-rule-weekly-weeks - True - 1 - 0 - False - GTK_UPDATE_ALWAYS - False - False - 1 - 0 - 100 - 1 - 10 - 10 - - 0 - False - True - - - - - GtkLabel - label34 - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 - - 0 - False - False - - - - - - GtkHBox - hbox15 - False - 0 - - 0 - False - True - - - - GtkCheckButton - recurrence-rule-weekly-mon - True - - False - True - - 0 - False - False - - - - - GtkCheckButton - recurrence-rule-weekly-tue - True - - False - True - - 0 - False - False - - - - - GtkCheckButton - recurrence-rule-weekly-wed - True - - False - True - - 0 - False - False - - - - - GtkCheckButton - recurrence-rule-weekly-thu - True - - False - True - - 0 - False - False - - - - - GtkCheckButton - recurrence-rule-weekly-fri - True - - False - True - - 0 - False - False - - - - - GtkCheckButton - recurrence-rule-weekly-sat - True - - False - True - - 0 - False - False - - - - - GtkCheckButton - recurrence-rule-weekly-sun - True - - False - True - - 0 - False - False - - - - - - - GtkLabel - Notebook:tab - label25 - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 - - - - GtkHBox - hbox16 - False - 0 + 0 + False + False + + - - GtkVBox - vbox9 - False - 0 - - 0 - True - True - + + GtkRadioButton + recurrence-rule-yearly + True + + False + True + recurrence_rule_group + + 0 + False + False + + + - - GtkVBox - vbox10 - False - 0 - - 0 - True - True - + + GtkVSeparator + vseparator1 + + 0 + False + True + + - - GtkHBox - hbox17 - False - 0 - - 0 - True - True - + + GtkNotebook + recurrence-rule-notebook + False + True + GTK_POS_TOP + False + 2 + 2 + False + + 0 + True + True + - - GtkRadioButton - recurrence-rule-monthly-on-day - True - - True - True - recurrence_rule_monthly_group - - 0 - False - False - - - - - GtkSpinButton - recurrence-rule-monthly-day - True - 1 - 0 - False - GTK_UPDATE_ALWAYS - False - False - 1 - 0 - 100 - 1 - 10 - 10 - - 0 - False - True - - - - - GtkLabel - label35 - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 - - 0 - False - False - - - + + Placeholder + - - GtkHBox - hbox18 - False - 0 - - 0 - False - False - + + GtkLabel + Notebook:tab + label23 + + GTK_JUSTIFY_CENTER + False + 0.5 + 0.5 + 0 + 0 + - - GtkRadioButton - recurrence-rule-monthly-weekday - True - - False - True - recurrence_rule_monthly_group - - 0 - False - False - - - - - GtkOptionMenu - recurrence-rule-monthly-week - True - 1st -2nd -3rd -4th -5th - - 0 - - 0 - False - False - - - - - GtkOptionMenu - recurrence-rule-monthly-day - True - Monday -Tuesday -Wednesday -Thursday -Friday -Saturday -Sunday - - 0 - - 0 - False - False - - - - + + GtkAlignment + alignment1 + 0.5 + 0.5 + 1 + 1 - - Placeholder - - + + GtkVBox + vbox7 + False + 0 GtkHBox - hbox19 + hbox13 False 0 @@ -1510,8 +1000,8 @@ Sunday GtkLabel - label36 - + label31 + GTK_JUSTIFY_CENTER False 0.5 @@ -1527,7 +1017,7 @@ Sunday GtkSpinButton - recurrence-rule-monthly-every-n-months + recurrence-rule-daily-days True 1 0 @@ -1536,7 +1026,7 @@ Sunday False False 1 - 1 + 0 100 1 10 @@ -1550,8 +1040,8 @@ Sunday GtkLabel - label37 - + label32 + GTK_JUSTIFY_CENTER False 0.5 @@ -1566,159 +1056,389 @@ Sunday + + + + GtkLabel + Notebook:tab + label24 + + GTK_JUSTIFY_CENTER + False + 0.5 + 0.5 + 0 + 0 + + + + GtkVBox + vbox8 + False + 0 + + + GtkHBox + hbox14 + False + 0 + + 0 + False + True + + + + GtkLabel + label33 + + GTK_JUSTIFY_CENTER + False + 0.5 + 0.5 + 0 + 0 + + 0 + False + False + + + + + GtkSpinButton + recurrence-rule-weekly-weeks + True + 1 + 0 + False + GTK_UPDATE_ALWAYS + False + False + 1 + 0 + 100 + 1 + 10 + 10 + + 0 + False + True + + + + + GtkLabel + label34 + + GTK_JUSTIFY_CENTER + False + 0.5 + 0.5 + 0 + 0 + + 0 + False + False + + + + + + GtkHBox + hbox15 + False + 0 + + 0 + False + True + + + + GtkCheckButton + recurrence-rule-weekly-mon + True + + False + True + + 0 + False + False + + + + + GtkCheckButton + recurrence-rule-weekly-tue + True + + False + True + + 0 + False + False + + + + + GtkCheckButton + recurrence-rule-weekly-wed + True + + False + True + + 0 + False + False + + + + + GtkCheckButton + recurrence-rule-weekly-thu + True + + False + True + + 0 + False + False + + + + + GtkCheckButton + recurrence-rule-weekly-fri + True + + False + True + + 0 + False + False + + + + + GtkCheckButton + recurrence-rule-weekly-sat + True + + False + True + + 0 + False + False + + + + + GtkCheckButton + recurrence-rule-weekly-sun + True + + False + True + + 0 + False + False + + + + - - GtkLabel - Notebook:tab - label26 - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 - + + GtkLabel + Notebook:tab + label25 + + GTK_JUSTIFY_CENTER + False + 0.5 + 0.5 + 0 + 0 + + + + GtkHBox + hbox16 + False + 0 GtkVBox - vbox11 + vbox9 False 0 + + 0 + True + True + - GtkHBox - hbox20 + GtkVBox + vbox10 False 0 0 - False + True True - GtkLabel - label38 - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 - - 0 - False - False - - - - - GtkSpinButton - recurrence-rule-yearly-every-n-years - True - 1 - 0 - False - GTK_UPDATE_ALWAYS - False - False - 1 - 0 - 100 - 1 - 10 - 10 + GtkHBox + hbox17 + False + 0 0 - False + True True + + + GtkRadioButton + recurrence-rule-monthly-on-day + True + + True + True + recurrence_rule_monthly_group + + 0 + False + False + + + + + GtkSpinButton + recurrence-rule-monthly-day + True + 1 + 0 + False + GTK_UPDATE_ALWAYS + False + False + 1 + 0 + 100 + 1 + 10 + 10 + + 0 + False + True + + + + + GtkLabel + label35 + + GTK_JUSTIFY_CENTER + False + 0.5 + 0.5 + 0 + 0 + + 0 + False + False + + - GtkLabel - label39 - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 + GtkHBox + hbox18 + False + 0 0 False False - - - - - - GtkLabel - Notebook:tab - label27 - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 - - - - - - GtkHBox - hbox8 - False - 0 - - 0 - False - True - + + GtkRadioButton + recurrence-rule-monthly-weekday + True + + False + True + recurrence_rule_monthly_group + + 0 + False + False + + - - GtkFrame - frame9 - - 0 - GTK_SHADOW_ETCHED_IN - - 0 - False - True - + + GtkOptionMenu + recurrence-rule-monthly-week + True + 1st +2nd +3rd +4th +5th + + 0 + + 0 + False + False + + - - GtkVBox - vbox5 - True - 0 + + GtkOptionMenu + recurrence-rule-monthly-day + True + Monday +Tuesday +Wednesday +Thursday +Friday +Saturday +Sunday + + 0 + + 0 + False + False + + + + - - GtkRadioButton - recurrence-ending-date-repeat-forever - True - - False - True - recurrence_ending_date - - 0 - False - False - + + Placeholder + GtkHBox - hbox12 + hbox19 False 0 @@ -1728,13 +1448,15 @@ Sunday - GtkRadioButton - recurrence-ending-date-end-on - True - - False - True - recurrence_ending_date + GtkLabel + label36 + + GTK_JUSTIFY_CENTER + False + 0.5 + 0.5 + 0 + 0 0 False @@ -1743,40 +1465,87 @@ Sunday - Custom - recurrence-ending-date-end-on-date - 100 - make_date_edit - 0 - 0 - Sat, 13 May 2000 18:02:55 GMT + GtkSpinButton + recurrence-rule-monthly-every-n-months + True + 1 + 0 + False + GTK_UPDATE_ALWAYS + False + False + 1 + 1 + 100 + 1 + 10 + 10 0 False True + + + GtkLabel + label37 + + GTK_JUSTIFY_CENTER + False + 0.5 + 0.5 + 0 + 0 + + 0 + False + False + + + + + + GtkLabel + Notebook:tab + label26 + + GTK_JUSTIFY_CENTER + False + 0.5 + 0.5 + 0 + 0 + + + + GtkVBox + vbox11 + False + 0 GtkHBox - hbox10 + hbox20 False 0 0 - True + False True - GtkRadioButton - recurrence-ending-date-end-after - True - - False - True - recurrence_ending_date + GtkLabel + label38 + + GTK_JUSTIFY_CENTER + False + 0.5 + 0.5 + 0 + 0 0 False @@ -1786,7 +1555,7 @@ Sunday GtkSpinButton - recurrence-ending-date-end-after-count + recurrence-rule-yearly-every-n-years True 1 0 @@ -1794,7 +1563,7 @@ Sunday GTK_UPDATE_ALWAYS False False - 2 + 1 0 100 1 @@ -1809,8 +1578,8 @@ Sunday GtkLabel - label28 - + label39 + GTK_JUSTIFY_CENTER False 0.5 @@ -1825,134 +1594,303 @@ Sunday + + + GtkLabel + Notebook:tab + label27 + + GTK_JUSTIFY_CENTER + False + 0.5 + 0.5 + 0 + 0 + + + + + + GtkHBox + hbox8 + False + 0 + + 0 + False + True + + + + GtkFrame + frame9 + + 0 + GTK_SHADOW_ETCHED_IN + + 0 + False + True + - GtkFrame - frame10 - - 0 - GTK_SHADOW_ETCHED_IN - - 0 - True - True - + GtkVBox + vbox5 + True + 0 - GtkVBox - vbox12 + GtkRadioButton + recurrence-ending-date-repeat-forever + True + + False + True + recurrence_ending_date + + 0 + False + False + + + + + GtkHBox + hbox12 False 0 + + 0 + False + True + + + + GtkRadioButton + recurrence-ending-date-end-on + True + + False + True + recurrence_ending_date + + 0 + False + False + + Custom - recurrence-exceptions-date + recurrence-ending-date-end-on-date + 100 make_date_edit 0 0 - Tue, 16 May 2000 01:42:29 GMT + Sat, 13 May 2000 18:02:55 GMT 0 - True + False + True + + + + + + GtkHBox + hbox10 + False + 0 + + 0 + True + True + + + + GtkRadioButton + recurrence-ending-date-end-after + True + + False + True + recurrence_ending_date + + 0 + False + False + + + + + GtkSpinButton + recurrence-ending-date-end-after-count + True + 1 + 0 + False + GTK_UPDATE_ALWAYS + False + False + 2 + 0 + 100 + 1 + 10 + 10 + + 0 + False True - GtkHBox - hbox21 + GtkLabel + label28 + + GTK_JUSTIFY_CENTER + False + 0.5 + 0.5 + 0 + 0 + + 0 + False + False + + + + + + + + GtkFrame + frame10 + + 0 + GTK_SHADOW_ETCHED_IN + + 0 + True + True + + + + GtkVBox + vbox12 + False + 0 + + + Custom + recurrence-exceptions-date + make_date_edit + 0 + 0 + Tue, 16 May 2000 01:42:29 GMT + + 0 + True + True + + + + + GtkHBox + hbox21 + False + 0 + + 0 + True + True + + + + GtkVBox + vbox13 False 0 0 - True + False True - GtkVBox - vbox13 - False - 0 + GtkButton + recurrence-exceptions-add + True + 0 False - True + False + - - GtkButton - recurrence-exceptions-add - True - - - 0 - False - False - - - - - GtkButton - recurrence-exceptions-change - True - - - 0 - False - False - - - - - GtkButton - recurrence-exceptions-delete - True - - - 0 - False - False - - + + GtkButton + recurrence-exceptions-change + True + + + 0 + False + False + - GtkScrolledWindow - scrolledwindow2 - GTK_POLICY_ALWAYS - GTK_POLICY_ALWAYS - GTK_UPDATE_CONTINUOUS - GTK_UPDATE_CONTINUOUS + GtkButton + recurrence-exceptions-delete + True + 0 - True - True + False + False + + - - GtkCList - recurrence-exceptions-list - True - 1 - 80 - GTK_SELECTION_SINGLE - False - GTK_SHADOW_IN + + GtkScrolledWindow + scrolledwindow2 + GTK_POLICY_ALWAYS + GTK_POLICY_ALWAYS + GTK_UPDATE_CONTINUOUS + GTK_UPDATE_CONTINUOUS + + 0 + True + True + - - GtkLabel - CList:title - label40 - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 - + + GtkCList + recurrence-exceptions-list + True + 1 + 80 + GTK_SELECTION_SINGLE + False + GTK_SHADOW_IN + + + GtkLabel + CList:title + label40 + + GTK_JUSTIFY_CENTER + False + 0.5 + 0.5 + 0 + 0 @@ -1960,19 +1898,19 @@ Sunday + - - GtkLabel - Notebook:tab - label12 - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 - + + GtkLabel + Notebook:tab + label12 + + GTK_JUSTIFY_CENTER + False + 0.5 + 0.5 + 0 + 0 diff --git a/calendar/gui/event-editor.c b/calendar/gui/event-editor.c index a25028c456..c96a6118d6 100644 --- a/calendar/gui/event-editor.c +++ b/calendar/gui/event-editor.c @@ -1,10 +1,81 @@ -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* Evolution calendar - Event editor dialog + * + * Copyright (C) 2000 Helix Code, Inc. + * + * Authors: Miguel de Icaza + * Federico Mena-Quintero + * Seth Alves + * + * This program 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 program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. + */ #include #include #include -#include -#include +#include "event-editor-utils.h" +#include "event-editor.h" + + + +typedef struct { + /* Glade XML data */ + GladeXML *xml; + + /* Calendar this editor is associated to */ + GnomeCalendar *gcal; + + /* UI handler */ + BonoboUIHandler *uih; + + /* Widgets from the Glade file */ + + GtkWidget *general_owner; + + GtkWidget *start_time; + GtkWidget *end_time; + GtkWidget *all_day_checkbox; + + GtkWidget *alarm_display; + GtkWidget *alarm_program; + GtkWidget *alarm_audio; + GtkWidget *alarm_mail; + GtkWidget *alarm_display_amount; + GtkWidget *alarm_display_unit; + GtkWidget *alarm_audio_amount; + GtkWidget *alarm_audio_unit; + GtkWidget *alarm_program_amount; + GtkWidget *alarm_program_unit; + GtkWidget *alarm_program_run_program; + GtkWidget *alarm_mail_amount; + GtkWidget *alarm_mail_unit; + GtkWidget *alarm_mail_mail_to; + + GtkWidget *recurrence_rule_notebook; + GtkWidget *recurrence_rule_none; + GtkWidget *recurrence_rule_daily; + GtkWidget *recurrence_rule_weekly; + GtkWidget *recurrence_rule_monthly; + GtkWidget *recurrence_rule_yearly; + + GtkWidget *recurrence_exception_add; + GtkWidget *recurrence_exception_delete; + GtkWidget *recurrence_exception_change; + + GtkWidget *exception_list; + GtkWidget *exception_date; +} EventEditorPrivate; typedef struct { GladeXML *gui; @@ -13,6 +84,13 @@ typedef struct { iCalObject *ical; } EventEditorDialog; + + +static void event_editor_class_init (EventEditorClass *class); +static void event_editor_init (EventEditor *ee); +static void event_editor_destroy (GtkObject *object); + +static GnomeAppClass *parent_class; extern int day_begin, day_end; extern char *user_name; @@ -24,6 +102,324 @@ static void append_exception (EventEditorDialog *dialog, time_t t); static void check_all_day (EventEditorDialog *dialog); static void alarm_toggle (GtkToggleButton *toggle, EventEditorDialog *dialog); + + +/** + * event_editor_get_type: + * @void: + * + * Registers the #EventEditor class if necessary, and returns the type ID + * associated to it. + * + * Return value: The type ID of the #EventEditor class. + **/ +GtkType +event_editor_get_type (void) +{ + static GtkType event_editor_type = 0; + + if (!event_editor_type) { + static const GtkTypeInfo event_editor_info = { + "EventEditor", + sizeof (EventEditor), + sizeof (EventEditorClass), + (GtkClassInitFunc) event_editor_class_init, + (GtkObjectInitFunc) event_editor_init, + NULL, /* reserved_1 */ + NULL, /* reserved_2 */ + (GtkClassInitFunc) NULL + }; + + event_editor_type = gtk_type_unique (gnome_app_get_type (), &event_editor_info); + } + + return event_editor_type; +} + +/* Class initialization function for the event editor */ +static void +event_editor_class_init (EventEditorClass *class) +{ + GtkObjectClass *object_class; + + object_class = (GtkObjectClass *) class; + + parent_class = gtk_type_class (gnome_app_get_type ()); + + object_class->destroy = event_editor_destroy; +} + +/* Object initialization function for the event editor */ +static void +event_editor_init (EventEditor *ee) +{ + EventEditorPrivate *priv; + + priv = g_new0 (EventEditorPrivate, 1); + ee->priv = priv; +} + +/* Destroy handler for the event editor */ +static void +event_editor_destroy (GtkObject *object) +{ + EventEditor *ee; + EventEditorPrivate *priv; + + g_return_if_fail (object != NULL); + g_return_if_fail (IS_EVENT_EDITOR (object)); + + ee = EVENT_EDITOR (object); + priv = ee->priv; + + if (priv->xml) { + gtk_object_unref (GTK_OBJECT (priv->xml)); + priv->xml = NULL; + } + + if (GTK_OBJECT_CLASS (parent_class)->destroy) + (* GTK_OBJECT_CLASS (parent_class)->destroy) (object); +} + +/* Creates an appropriate title for the event editor dialog */ +static char * +make_title_from_ico (iCalObject *ico) +{ + const char *summary; + + if (ico->summary) + summary = ico->summary; + else + summary = _("No summary"); + + switch (ico->type) { + case ICAL_EVENT: + return g_strdup_printf (_("Appointment - %s"), summary); + + case ICAL_TODO: + return g_strdup_printf (_("Task - %s"), summary); + + case ICAL_JOURNAL: + return g_strdup_printf (_("Journal entry - %s"), summary); + + default: + g_message ("make_title_from_ico(): Cannot handle object of type %d", (int) ico->type); + return NULL; + } +} + +/* Gets the widgets from the XML file and returns if they are all available */ +static gboolean +get_widgets (EventEditor *ee) +{ + EventEditorPrivate *priv; + + priv = ee->priv; + +#define GW(name) glade_xml_get_widget (priv->xml, name) + + priv->general_owner = GW ("general-owner"); + + priv->start_time = GW ("start-time"); + priv->end_time = GW ("end-time"); + priv->all_day_checkbox = GW ("all-day-event"); + + priv->alarm_display = GW ("alarm-display"); + priv->alarm_program = GW ("alarm-program"); + priv->alarm_audio = GW ("alarm-audio"); + priv->alarm_mail = GW ("alarm-mail"); + priv->alarm_display_amount = GW ("alarm-display-amount"); + priv->alarm_display_unit = GW ("alarm-display-unit"); + priv->alarm_audio_amount = GW ("alarm-audio-amount"); + priv->alarm_audio_unit = GW ("alarm-audio-unit"); + priv->alarm_program_amount = GW ("alarm-program-amount"); + priv->alarm_program_unit = GW ("alarm-program-unit"); + priv->alarm_program_run_program = GW ("run-program-file-entry"); + priv->alarm_mail_amount = GW ("alarm-mail-amount"); + priv->alarm_mail_unit = GW ("alarm-mail-unit"); + priv->alarm_mail_mail_to = GW ("mail-to"); + + priv->recurrence_rule_notebook = GW ("recurrence-rule-notebook"); + priv->recurrence_rule_none = GW ("recurrence-rule-none"); + priv->recurrence_rule_daily = GW ("recurrence-rule-daily"); + priv->recurrence_rule_weekly = GW ("recurrence-rule-weekly"); + priv->recurrence_rule_monthly = GW ("recurrence-rule-monthly"); + priv->recurrence_rule_yearly = GW ("recurrence-rule-yearly"); + + priv->recurrence_exception_add = GW ("recurrence-exceptions-add"); + priv->recurrence_exception_delete = GW ("recurrence-exceptions-delete"); + priv->recurrence_exception_change = GW ("recurrence-exceptions-change"); + + priv->exception_list = GW ("recurrence-exceptions-list"); + priv->exception_date = GW ("recurrence-exceptions-date"); + +#undef GW + + return (priv->general_owner + && priv->start_time + && priv->end_time + && priv->all_day_checkbox + && priv->alarm_display + && priv->alarm_program + && priv->alarm_audio + && priv->alarm_mail + && priv->alarm_display_amount + && priv->alarm_display_unit + && priv->alarm_audio_amount + && priv->alarm_audio_unit + && priv->alarm_program_amount + && priv->alarm_program_unit + && priv->alarm_program_run_program + && priv->alarm_mail_amount + && priv->alarm_mail_unit + && priv->alarm_mail_mail_to + && priv->recurrence_rule_notebook + && priv->recurrence_rule_none + && priv->recurrence_rule_daily + && priv->recurrence_rule_weekly + && priv->recurrence_rule_monthly + && priv->recurrence_rule_yearly + && priv->recurrence_exception_add + && priv->recurrence_exception_delete + && priv->recurrence_exception_change + && priv->exception_list + && priv->exception_date); +} + +static GnomeUIInfo main_menu[] = { + /* FIXME */ + GNOMEUIINFO_END +}; + +/* Creates the menu bar for the event editor */ +static void +create_menu (EventEditor *ee) +{ + EventEditorPrivate *priv; + BonoboUIHandlerMenuItem *list; + + priv = ee->priv; + + bonobo_ui_handler_create_menubar (priv->uih); + + list = bonobo_ui_handler_menu_parse_uiinfo_list_with_data (main_menu, ee); + bonobo_ui_handler_menu_add_list (priv->uih, "/", list); +} + +static GnomeUIInfo toolbar[] = { + /* FIXME */ + GNOMEUIINFO_END +}; + +/* Creates the toolbar for the event editor */ +static void +create_toolbar (EventEditor *ee) +{ + EventEditorPrivate *priv; + BonoboUIHandlerToolbarItem *list; + + priv = ee->priv; + + bonobo_ui_handler_create_toolbar (priv->uih, "Toolbar"); + + list = bonobo_ui_handler_toolbar_parse_uiinfo_list_with_data (toolbar, ee); + bonobo_ui_handler_toolbar_add_list (priv->uih, "/Toolbar", list); +} + +GtkWidget * +event_editor_construct (EventEditor *ee, GnomeCalendar *gcal, iCalObject *ico) +{ + EventEditorPrivate *priv; + char *title; + GtkWidget *toplevel; + GtkWidget *contents; + + g_return_val_if_fail (ee != NULL, NULL); + g_return_val_if_fail (IS_EVENT_EDITOR (ee), NULL); + g_return_val_if_fail (gcal != NULL, NULL); + g_return_val_if_fail (GNOME_IS_CALENDAR (gcal), NULL); + g_return_val_if_fail (ico != NULL, NULL); + g_return_val_if_fail (ico->uid != NULL, NULL); + + priv = ee->priv; + + /* Create the UI handler */ + + priv->uih = bonobo_ui_handler_new (); + if (!priv->uih) { + g_message ("event_editor_construct(): Could not create the UI handler"); + goto error; + } + + bonobo_ui_handler_set_app (priv->uih, GNOME_APP (ee)); + + /* Load the content widgets */ + + priv->xml = glade_xml_new (EVOLUTION_GLADEDIR "/event-editor-dialog.glade", NULL); + if (!priv->xml) { + g_message ("event_editor_construct(): Could not load the Glade XML file!"); + goto error; + } + + toplevel = glade_xml_get_widget (priv->xml, "event-editor-dialog"); + contents = glade_xml_get_widget (priv->xml, "dialog-contents"); + if (!(toplevel && contents)) { + g_message ("event_editor_construct(): Could not find the contents in the XML file!"); + goto error; + } + + if (!get_widgets (ee)) { + g_message ("event_editor_construct(): Could not find all widgets in the XML file!"); + goto error; + } + + gtk_object_ref (GTK_OBJECT (contents)); + gtk_container_remove (GTK_CONTAINER (toplevel), GTK_WIDGET (contents)); + gtk_widget_destroy (GTK_WIDGET (toplevel)); + + /* Construct the app */ + + priv->gcal = gcal; + + title = make_title_from_ico (ico); + gnome_app_construct (GNOME_APP (ee), "event-editor", title); + g_free (title); + + create_menu (ee); + create_toolbar (ee); + + gnome_app_set_contents (GNOME_APP (ee), contents); + gtk_widget_show (contents); + gtk_object_unref (GTK_OBJECT (contents)); + + return GTK_WIDGET (ee); + + error: + + gtk_object_unref (GTK_OBJECT (ee)); + return NULL; +} + +GtkWidget * +event_editor_new (GnomeCalendar *gcal, iCalObject *ico) +{ + EventEditor *ee; + + g_return_val_if_fail (gcal != NULL, NULL); + g_return_val_if_fail (GNOME_IS_CALENDAR (gcal), NULL); + g_return_val_if_fail (ico != NULL, NULL); + g_return_val_if_fail (ico->uid != NULL, NULL); + + ee = EVENT_EDITOR (gtk_type_new (TYPE_EVENT_EDITOR)); + + ee = event_editor_construct (ee, gcal, ico); + + if (ee) + gtk_widget_show (GTK_WIDGET (ee)); + + return GTK_WIDGET (ee); +} + static void fill_in_dialog_from_ical (EventEditorDialog *dialog) { @@ -628,7 +1024,7 @@ recurrence_exception_changed (GtkWidget *widget, EventEditorDialog *dialog) } - +#if 0 GtkWidget *event_editor_new (GnomeCalendar *gcal, iCalObject *ical) { EventEditorDialog *dialog = g_new0 (EventEditorDialog, 1); @@ -722,7 +1118,7 @@ GtkWidget *event_editor_new (GnomeCalendar *gcal, iCalObject *ical) return dialog->dialog; } - +#endif void event_editor_new_whole_day (GnomeCalendar *owner, time_t day) { @@ -810,4 +1206,3 @@ make_spin_button (int val, int low, int high) Gtk-WARNING **: invalid cast from `(unknown)' to `GnomeDialog' on line 669: gnome_dialog_close (GNOME_DIALOG(dialog->dialog)); */ - diff --git a/calendar/gui/event-editor.h b/calendar/gui/event-editor.h index 05de9aad38..00646afd75 100644 --- a/calendar/gui/event-editor.h +++ b/calendar/gui/event-editor.h @@ -1,13 +1,50 @@ -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* Evolution calendar - Event editor dialog + * + * Copyright (C) 2000 Helix Code, Inc. + * + * Authors: Miguel de Icaza + * Federico Mena-Quintero + * Seth Alves + * + * This program 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 program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. + */ #ifndef __EVENT_EDITOR_DIALOG_H__ #define __EVENT_EDITOR_DIALOG_H__ +#include +#include #include "gnome-cal.h" -#include -#include -typedef struct { + + +#define TYPE_EVENT_EDITOR (event_editor_get_type ()) +#define EVENT_EDITOR(obj) (GTK_CHECK_CAST ((obj), TYPE_EVENT_EDITOR, EventEditor)) +#define EVENT_EDITOR_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), TYPE_EVENT_EDITOR, \ + EventEditorClass)) +#define IS_EVENT_EDITOR(obj) (GTK_CHECK_TYPE ((obj), TYPE_EVENT_EDITOR)) +#define IS_EVENT_EDITOR_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_EDITOR)) + +typedef struct _EventEditor EventEditor; +typedef struct _EventEditorClass EventEditorClass; + +struct _EventEditor { + GnomeApp app; + + /* Private data */ + gpointer priv; /* The associated ical object */ iCalObject *ical; @@ -21,10 +58,17 @@ typedef struct { int port; char *rootdn; */ -} EventEditor; +}; + +struct _EventEditorClass { + GnomeAppClass parent_class; +}; -GtkWidget *event_editor_new (GnomeCalendar *owner, iCalObject *ico); +GtkType event_editor_get_type (void); +GtkWidget *event_editor_construct (EventEditor *ee, GnomeCalendar *gcal, iCalObject *ico); + +GtkWidget *event_editor_new (GnomeCalendar *gcal, iCalObject *ico); /* Convenience function to create and show a new event editor for an * event that goes from day_begin to day_end of the specified day. @@ -37,6 +81,6 @@ GtkWidget *date_edit_new (time_t the_time, int show_time); GtkWidget *make_spin_button (int val, int low, int high); - + #endif /* __EVENT_EDITOR_DIALOG_H__ */ -- cgit v1.2.3