aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/event-editor.h
Commit message (Collapse)AuthorAgeFilesLines
* Ximianified email addresses and copyrights.Federico Mena Quintero2001-01-171-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-17 Federico Mena Quintero <federico@ximian.com> * */*: Ximianified email addresses and copyrights. * idl/evolution-calendar.idl (CalFactory::open): Renamed from ::load(), and added an only_if_exists argument. (CalFactory::create): Removed method. (Listener::OpenStatus): Removed the IN_USE error and replaced it with a NOT_FOUND one; renamed the enum from LoadStatus. (Listener::notifyCalOpened): Renamed from notifyCalLoaded(). * pcs/cal-backend.h (CalBackend): Removed the uri field. (CalBackendOpenStatus): Renamed from CalBackendLoadStatus and added a NOT_FOUND value. (CalBackendClass::open): Put in a slot for the open method. * pcs/cal-backend.c (cal_backend_create): Removed function. * pcs/cal-backend-file.c (cal_backend_file_open): Return the appropriate value when only_if_exists is TRUE. (create_cal): We are Ximian now, so set the PRODID property to the appropriate foo. * pcs/cal-factory.c (CalFactory_open): implemented, replacing CalFactory_load() and CalFactory_create(). (CalFactory_open): Moved the queue_load_create_job() stuff to here, since we now only need to contemplate the open case instead of load/create ones. (open_backend): Do everything here; replaces load_backend() and create_backend(). * cal-client/cal-listener.h (CalListenerClass::cal_opened): Renamed from cal_loaded. (CalListenerClass): Replaced the silly signals, which are gratuitous abstraction, by a set of function pointers in the instance structure. * cal-client/cal-listener.c (cal_listener_get_calendar): Removed unused function. (cal_listener_construct): Added the listener notification functions. (cal_listener_new): Ditto. (Listener_notifyCalOpened): Renamed to our new naming convention for servant implementations. (Listener_notifyObjUpdated): Ditto. (Listener_notifyObjRemoved): Ditto. * cal-client/cal-client.h (CalClientOpenStatus): Renamed from CalClientLoadStatus. (CalClientClass::cal_opened): Renamed from ::cal_loaded(). (CalClientLoadState): New enum; basically make LoadState public so that users of this code do not have to maintain their own states. * cal-client/cal-client.c (cal_client_create_calendar): Removed function. (cal_client_open_calendar): Moved the functionality over from load_or_create(); now we do everything here. (*): Use the CalClientLoadState enum values instead of the old LoadState values. (cal_client_get_load_state): Renamed from cal_client_is_loaded(), and return the appropriate value. (CalClientPrivate): Added an uri field. (cal_client_init): Initialize priv->uri. (cal_client_destroy): Free the priv->uri. (cal_opened_cb): Maintain the priv->uri. (cal_client_open_calendar): Fill in the priv->uri. (cal_client_get_uri): New function. * gui/calendar-model.c (calendar_model_set_new_comp_vtype): New function to configure the type of calendar components to create when doing click-to-add. This makes the model usable for something other than task lists. (calendar_model_get_new_comp_vtype): New function. * gui/e-calendar-table.c (e_calendar_table_get_model): New function. (e_calendar_table_destroy): Unref the subset_model. * gui/gnome-cal.h (GnomeCalendarOpenMode): Removed enum. * gui/gnome-cal.c (LoadState): Removed enum; we now use the CalClientLoadState from the client objects. (GnomeCalendarPrivate): Removed the loading_uri and task_pad_loading_uri fields as well as the load_state and task_pad_load_state fields, as we can now query them directly from the CalClient. (open_error): Renamed from load_error(). (create_error): Removed function. (gnome_calendar_open): Do not take in the mode parameter. (cal_opened_cb): Get rid of our beautifully-crafted state machine and replace it with simple code; all the loading smarts are in the Wombat now. (setup_widgets): Set the new component vtype of the table model to CAL_COMPONENT_TODO. * gui/Makefile.am (evolution_calendar_SOURCES): Removed gnome-month-item.[ch] from the list of sources. * gui/calendar-summary.c (CalSummary): Removed unused cal_loaded field. (create_summary_view): Do not check if the file exists; this is the job of the Wombat. (generate_html_summary): Fixed prototype. (alarm_fn): Fixed prototype. (property_dialog): Fixed prototype. Wonder if/how this ever worked. (create_summary_view): Cast the component and view as appropriate. Removed unused html variable. [Iain dude, are you compiling with -Wall?] * gui/e-itip-control.c (cal_opened_cb): Sigh, this function signature was *very* wrong. It was using CalClientGetStatus instead of CalClientOpenStatus. * gui/e-tasks.h (ETasksOpenMode): Removed enum. * gui/e-tasks.c (setup_widgets): Set the new component vtype of the table model to CAL_COMPONENT_TODO. (LoadState): Removed the state machine foo. (e_tasks_open): Removed the mode parameter. (initial_load): Removed function. (create_error): Removed function. (ETasksPrivate): Removed folder_uri field. (cal_opened_cb): Remove the state machine. * gui/component-factory.c: #include "tasks-control.h" * conduits/calendar/calendar-conduit.h (ECalConduitContext): Removed calendar_load_tried field. * conduits/calendar/calendar-conduit.c (start_calendar_server_cb): Sigh, fixed function prototype. * conduits/todo/todo-conduit.h (EToDoConduitContext): Removed calendar_load_tried field. * conduits/todo/todo-conduit.c (start_calendar_server_cb): Fixed function prototype. svn path=/trunk/; revision=7571
* Fixes bug #955.Federico Mena Quintero2000-12-151-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-12-14 Federico Mena Quintero <federico@helixcode.com> Fixes bug #955. * gui/weekday-picker.c (WeekdayPickerPrivate): Added a field for the week_start_day, to be used in the same way as calendar-config.h defines it. Removed the week_starts_on_monday flag. (day_event_cb): Use the week_start_day. (colorize_items): Likewise. (configure_items): Likewise. (weekday_picker_set_week_start_day): New function. (weekday_picker_get_week_start_day): New function. (weekday_picker_set_week_starts_on_monday): Removed function. (weekday_picker_get_week_starts_on_monday): Removed function. * gui/widget-util.[ch]: New files with utilities for creating or configuring widgets. * gui/widget-util.c (date_edit_new): New function to create an EDateEdit configured with the calendar's preferences; moved over from event-editor.c. * gui/event-editor.c (make_recur_weekly_special): Use weekday_picker_set_week_start_day() and the corresponding function from calendar-config.h. (init_widgets): Likewise. (make_date_edit_with_time): Removed function. (make_recur_ending_until_special): Use date_edit_new(). (make_date_edit): Likewise. * gui/dialogs/task-editor.c (task_editor_create_date_edit): Likewise. * gui/event-editor-dialog.glade: Removed references to make_date_edit_with_time(); replace them with make_date_edit(). * gui/Makefile.am (evolution_calendar_SOURCES): Added widget-util.[ch] to the list of sources. svn path=/trunk/; revision=7037
* This is the new recurrence page, partially finished. I just want it on CVSFederico Mena Quintero2000-10-271-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the new recurrence page, partially finished. I just want it on CVS for if my laptop explodes. This is highly disgusting code. It has to discriminate between the recurrence types we support and the ones we do not. I hate iCalendar. I hate it more than Hi-Fi\'s pizza. 2000-10-26 Federico Mena Quintero <federico@helixcode.com> * gui/event-editor.c (EventEditorPrivate): Integrate Anna's new recurrence page. Replace the old widget pointers with the new ones. Modified the relevant functions accordingly and added plenty of new ones. (event_editor_get_cal_client): New function. (fill_recurrence_widgets): This is *THE* tricky function for you. It has to discriminate whether we get a recurrence we support for editing or not. And this is not trivial. Sigh. (event_editor_update_widgets): Added preconditions and API docs. * event-editor-dialog.glade: Fixed all the spacings/ paddings/packing options so that the widgets will look right if the dialog box is resized. Also fixes some misaligned widgets. * cal-util/cal-component.c (cal_component_set_rdate_list): Removed incorrect assertion. svn path=/trunk/; revision=6219
* *** empty log message ***Jesse Pavel2000-10-201-0/+2
| | | | svn path=/trunk/; revision=6050
* Event editor destroyed callback to do hash cleanupJP Rosevear2000-08-311-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-08-31 JP Rosevear <jpr@helixcode.com> * gui/gnome-cal.c (editor_closed_cb): Event editor destroyed callback to do hash cleanup (gnome_calendar_edit_object): Set event editor calendar client. * gui/event-editor.h: Add new prototype * gui/event-editor.c: Trash signal stuff. We will manipulate the client directly. Make the toolbar save and menu save items work identically. Add icons to the toolbar. (save_event_object): Call cal_client_update_object (close_dialog): Unref the client and disconnect signals Actually destroy the event editor object. (obj_updated_cb): New function. Doesn't really do anything yet but it will inform the user the event has changed elsewhere in the future. (obj_removed_cb): ditto (event_editor_set_cal_client): New function to set the calendar client * gui/gnome-cal.c (gnome_calendar_new_appointment): Commit the sequence to the cal component and use non UTC times. svn path=/trunk/; revision=5142
* Use event_editor_set_event_objectJP Rosevear2000-08-301-1/+1
| | | | | | | | | | | | | | | | | | 2000-08-29 JP Rosevear <jpr@helixcode.com> * gui/gnome-cal.c (gnome_calendar_edit_object): Use event_editor_set_event_object * gui/event-editor.c (event_editor_set_event_object): Rename from event_editor_set_ical_object * gui/event-editor.h: Update prototype * gui/e-week-view.c (e_week_view_on_new_appointment): Call cal_component_commit_sequence after event changes. Default to these being all day events. svn path=/trunk/; revision=5097
* Make signal names saner (released_event_object_cb): dittoJP Rosevear2000-08-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | 2000-08-24 JP Rosevear <jpr@helixcode.com> * gui/gnome-cal.c (save_event_object_cb): Make signal names saner (released_event_object_cb): ditto (gnome_calendar_edit_object): ditto * gui/event-editor.h: Make signal names saner * gui/event-editor.c (event_editor_class_init): Make signal names saner now that we don't use ical object (save_event_object): ditto with callback names (file_save_cb): ditto (tb_save_and_close_cb): ditto (event_editor_set_ical_object): ditto * gui/e-day-view.c (e_day_view_update_event): Umm, != CAL_COMPONENT_EVENT (I hope that wasn't me!) svn path=/trunk/; revision=5006
* Update prototypes.JP Rosevear2000-08-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | 2000-08-18 JP Rosevear <jpr@helixcode.com> * gui/event-editor.h: Update prototypes. * gui/event-editor.c: Need to come back here later to fix the alarm stuff. The gui also needs to be completely redone to support the fancier CalComponent settings (exrules, rdates, etc) There are some warnings that I put in to mark some of these spots (event_editor_destroy): Use Calcomponent instead of iCalObject (make_title_from_comp): ditto (clear_widgets): ditto (fill_widgets): ditto (classification_get): ditto (dialog_to_comp_object): ditto (save_ical_object): ditto (close_dialog): ditto (event_editor_set_ical_object): ditto svn path=/trunk/; revision=4875
* Implemented. (gnome_calendar_add_object): Removed function, since it wasFederico Mena Quintero2000-06-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-06-02 Federico Mena Quintero <federico@helixcode.com> * gui/gnome-cal.c (save_ical_object_cb): Implemented. (gnome_calendar_add_object): Removed function, since it was identical to gnome_calendar_update_object(). Modified the rest of the code to use only the latter. (gnome_calendar_remove_object): Be more paranoid about the UID. (gnome_calendar_update_object): Ditto. Also, renamed this function from gnome_calendar_object_changed(), for consistency with the lower-level CalClient interface. * gui/event-editor.c (event_editor_class_init): New "save_ical_object" signal to ask that our parent store the calendar object to the backend. (save_ical_object): New function to save the calendar object, actually if just emits the signal. (file_save_cb): Implemented. (dialog_to_ical_object): We want priv-> alarm_program_run_program_entry (i.e. the entry inside the GnomeFileEntry), not the file entry itself. (dialog_to_ical_object): Only insert the recurrence ending date if the event is recurrent! svn path=/trunk/; revision=3380
* Handler for the "editor_closed" signal of the event editor; we justFederico Mena Quintero2000-06-021-0/+1
| | | | | | | | | | | | | | | 2000-06-01 Federico Mena Quintero <federico@helixcode.com> * gui/gnome-cal.c (editor_closed_cb): Handler for the "editor_closed" signal of the event editor; we just destroy it then. * gui/event-editor.c (app_delete_event_cb): Callback used when the dialog is closed. Release the iCalObject here instead of the event editor's destroy handler, and emit the new "editor_closed" signal. svn path=/trunk/; revision=3376
* Change of plans. The toplevel GnomeApp is now generated with Glade insteadFederico Mena Quintero2000-06-021-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | 2000-06-01 Federico Mena Quintero <federico@helixcode.com> * gui/event-editor-dialog.glade: Change of plans. The toplevel GnomeApp is now generated with Glade instead of being created in the program code. Otherwise we can't migrate the accelerators to the new toplevel and they won't work. * gui/event-editor.[ch]: EventEditor now derives from GtkObject. This lets us use the GnomeApp created by libglade and still have signals and stuff. * gui/event-editor.c (create_menu): Tell the UI handler that the menubar is the GnomeApp's existing one, not to create a new one. (create_toolbar): Tell the UI handler to use the GnomeApp's existing toolbar. (event_editor_focus): New function to raise/focus an event editor. * gui/gnome-cal.c (gnome_calendar_edit_object): Use event_editor_focus(). svn path=/trunk/; revision=3348
* Added a hash table to map calendar objects to their respective eventFederico Mena Quintero2000-06-011-15/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-31 Federico Mena Quintero <federico@helixcode.com> * gui/gnome-cal.h (GnomeCalendar): Added a hash table to map calendar objects to their respective event editors. * gui/gnome-cal.c (gnome_calendar_init): Create the object_editor_hash. (gnome_calendar_destroy): Free the object_editor_hash. (gnome_calendar_edit_object): New function to centralize the launching of event editors; if one already exists for a particular calendar object, we just raise its window. (edit): Use gnome_calendar_edit_object(). * gui/calendar-commands.c (display_objedit): Use gnome_calendar_edit_object(). (display_objedit_today): Likewise. * gui/e-day-view.c (e_day_view_on_new_appointment): Likewise. (e_day_view_on_edit_appointment): Likewise. * gui/e-week-view.c (e_week_view_on_new_appointment): Likewise. (e_week_view_on_edit_appointment): Likewise. * gui/event-editor.c (event_editor_new): Do not take in an iCalObject; rather provide an event_editor_set_ical_object() function. We need this because a single editor may be switched between different calendar objects. Also, do not show the event editor; leave it up to the client code. (event_editor_construct): Likewise. (clear_widgets): New function to clear the widgets to default values. (fill_widgets): New function to fill in the widgets from the iCalObject. We don't do this in init_widgets() anymore. (free_exception_clist_data): New function to free the exceptions clist data. We were leaking the row data. (init_widgets): Hook to the destroy signal of the exceptions clist. (event_editor_set_ical_object): New function. Now it also makes a copy of the calendar object for the event editor; clients do not need to copy it anymore. (event_editor_destroy): Unref the UI handler as well. (event_editor_class_init): New "ical_object_released" signal to notify the parent that we are no longer editing the calendar object. (make_title_from_ico): Handle NULL objects. * gui/event-editor.h (EventEditor): Removed fields that are no longer used. svn path=/trunk/; revision=3317
* Flush - FedericoFederico Mena Quintero2000-05-301-0/+2
| | | | svn path=/trunk/; revision=3280
* Put the main notebook directly under a simple GtkWindow. We are going toFederico Mena Quintero2000-05-261-7/+51
| | | | | | | | | | | | | | | | | | | | 2000-05-25 Federico Mena Quintero <federico@helixcode.com> * 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
* hooked up more widget signals to callbacks to the gladified dialog actsSeth Alves2000-05-181-0/+1
| | | | | | | * gui/event-editor.c: hooked up more widget signals to callbacks to the gladified dialog acts more like the original one. svn path=/trunk/; revision=3106
* gladeified replacement for eventedit.cSeth Alves2000-05-161-0/+41
* gui/event-editor.[ch]: gladeified replacement for eventedit.c * gui/event-editor-utils.[ch]: utilities used by event-editor.c * gui/event-editor-dialog.glade: glade file used by event-editor.c svn path=/trunk/; revision=3046