aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-day-view.c
Commit message (Collapse)AuthorAgeFilesLines
* New function to restart a query for the day view. (query_obj_updated_cb):Federico Mena Quintero2001-04-131-122/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-04-12 Federico Mena Quintero <federico@ximian.com> * gui/e-day-view.c (update_query): New function to restart a query for the day view. (query_obj_updated_cb): Renamed from obj_updated_cb(); updated for queries instead of calendar clients. (query_obj_removed_cb): Likewise. (cal_opened_cb): Just update_query() instead of queueing reloading all the events. (e_day_view_set_cal_client): Likewise. (e_day_view_set_query): Likewise. (e_day_view_set_selected_time_range): Likewise. (e_day_view_set_days_shown): Likewise. (e_day_view_recalc_work_week): Likewise. (e_day_view_queue_reload_events): Removed function now that events are updated entirely by the query. (e_day_view_reload_events_idle_cb): Likewise. (e_day_view_reload_events): Likewise. (e_day_view_init): Use a pretty arrow instead of GDK_TOP_LEFT_ARROW. * gui/e-week-view.c: Analogous changes to the ones in e-day-view.c. (e_week_view_init): Use a pretty arrow instead of GDK_TOP_LEFT_ARROW. * cal-util/timeutil.c (isodate_from_time_t): Return a g_strdup()ed version of the string instead of a pointer to a static buffer. (time_from_isodate): Resurrected function. Polished up to our current standards of paranoia. * pcs/query.c (func_time_now): New function (time-now). (func_make_time): New function (make-time ISODATE). (func_time_add_day): New function (time-add-day TIME N). (func_time_day_begin): New function (time-day-begin TIME). (func_time_day_end): New function (time-day-end TIME). (func_occur_in_time_range): Use time_t values instead of ints. (match_component): Free the stringized component. Free the ESexp result value. * gui/e-day-view.h: Removed a couple of unused prototypes. * pcs/query.c (query_destroy): Oops, disconnect from the backend. * pcs/cal.c (Cal_get_query): Duplicate the query reference before we return it. * gui/calendar-commands.c (pixmaps): Fixed paths to image files. svn path=/trunk/; revision=9266
* Here goes my additional simple include fixes.Gediminas Paulauskas2001-04-051-13/+13
| | | | svn path=/trunk/; revision=9191
* Fix headers. Same here. Same here. Same here. Same here. Same here. SameKjartan Maraas2001-04-051-0/+9
| | | | | | | | | | | | | | | | | | | | | 2001-04-04 Kjartan Maraas <kmaraas@gnome.org> * gui/calendar-commands.c: Fix headers. * gui/calendar-config.c: Same here. * gui/calendar-model.c: Same here. * gui/e-day-view-time-item.c: Same here. * gui/e-day-view-top-item.c: Same here. * gui/e-day-view.c: Same here. * gui/e-meeting-edit.c: Same here. * gui/e-week-view-main-item.c: Same here. * gui/e-week-view.c: Same here. * gui/event-editor.c: Same here. * gui/gnome-cal.c: Same here. * gui/goto.c: Same here. * gui/main.c: Same her. * gui/print.c: Same here. svn path=/trunk/; revision=9180
* Added ShowWeekView, ShowMonthView, ShowDay, ShowWorkWeek to the View menu.Miguel de Icaza2001-03-181-42/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-17 Miguel de Icaza <miguel@ximian.com> * evolution-calendar.xml: Added ShowWeekView, ShowMonthView, ShowDay, ShowWorkWeek to the View menu. * evolution.xml, evolution-mail.xml: Provide "Actions" in the toplevel evolution. Fill in Actions/Component in Evolution-mail (no visual changes, just internal changes). * evolution-calendar.xml: Added Actions menu. Added New Verb EditNewEvent. 2001-03-17 Miguel de Icaza <miguel@ximian.com> * gui/e-day-view.c (e_day_view_on_new_event, e_day_view_on_new_appointment): Simplifed this function to use the shared code. * gui/e-week-view.c (e_week_view_on_new_event, e_week_view_on_new_appointment): ditto. * gui/gnome-cal.c (gnome_calendar_new_appointment_for): New function used to launch editor components with a time range. A bunch of functions use this code now instead of duplicating code all over the place svn path=/trunk/; revision=8794
* Moved functionality here from e_day_view_on_new_appointment. AllowsMiguel de Icaza2001-03-171-10/+56
| | | | | | | | | | | | | | | | | | | | | | | | 2001-03-17 Miguel de Icaza <miguel@ximian.com> * gui/e-week-view.c (e_week_view_new_event): Moved functionality here from e_day_view_on_new_appointment. Allows setting for "full day" event. (e_week_view_on_new_full_day): New function for making a full day event. (e_week_view_on_goto_date): Go To support. (e_week_view_on_goto_today): Goto today support. * gui/e-day-view.c (e_day_view_new_event): Moved functionality here from e_day_view_on_new_appointment. Allows setting for "full day" event. (e_day_view_on_new_full_day): New function for making a full day event. (e_day_view_on_goto_date): Go To support. (e_day_view_on_goto_today): Goto today support. * main_items: Add New All Day Event; Go to Today; Go to Date. svn path=/trunk/; revision=8778
* Update arguments to e_canvas_item_grab_focus.Dan Winship2001-03-161-1/+1
| | | | | | | | * gui/e-week-view.c (e_week_view_start_editing_event): * gui/e-day-view.c (e_day_view_start_editing_event): Update arguments to e_canvas_item_grab_focus. svn path=/trunk/; revision=8748
* Removed .oafinfo files -- they are obsolete. Moved pixmaps fromGediminas Paulauskas2001-03-151-2/+2
| | | | | | | | | | | | 2001-03-15 Gediminas Paulauskas <menesis@delfi.lt> Removed .oafinfo files -- they are obsolete. Moved pixmaps from calendar/gui/ to art/ Moved evolution.png to art/ Moved evolution.desktop.in to data/ Generate doc/devel/executive-summary/Makefile svn path=/trunk/; revision=8727
* keep list of all Tasks folders so we can update the preference settingsDamon Chaplin2001-03-051-68/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-05 Damon Chaplin <damon@ximian.com> * gui/e-tasks.c: keep list of all Tasks folders so we can update the preference settings when necessary. * gui/gnome-cal.c: configure the TaskPad according to the settings. * gui/e-calendar-table.c: use ECellCombo and ECellDateEdit for fields, so the tasks folders is almost usable now. * gui/calendar-model.c: added support for the Status property. * gui/calendar-config.[hc]: added convenience functions to setup ECalendarTable and ECellDateEdit objects. * gui/calendar-commands.c: connected to "destroy" signal of calendars so we can remove them from all_calendars list. * gui/dialogs/cal-prefs-dialog.c (cal_prefs_dialog_update_config): call e_tasks_update_all_config_settings() to update all the settings in the Tasks folders as well. * cal-util/cal-component.h: added CAL_COMPONENT_FIELD_STATUS. * cal-util/cal-component.c (cal_component_get_transparency): fixed calls to strcasecmp so they check for '== 0'. Applied patch from Miguel... 2001-02-27 Miguel de Icaza <miguel@ximian.com> * gui/e-day-view.c (e_day_view_on_event_right_click): Reorganize the menus to have entries always in a consistent fashion, as reported to the genepool mailing list. (e_day_view_on_event_right_click): Added a FIXME comment to the FIXME comment without a FIXME. Now we use e_popup_menu. This allows us to hide/show items on demand, and to sensitize/de-sensitize items depending on their state. This will also let us add icon support (when we get nice icons for this) * gui/e-week-view.c (e_week_view_show_popup_menu): Ditto. The files popup-menu.c and popup-menu.h can now be removed. svn path=/trunk/; revision=8549
* Pull up from 0.9 branchJP Rosevear2001-02-091-6/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Pulling stuff up from the branchJP Rosevear2001-02-071-7/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 longer delete all alarms first (append_reminder): the row data is now of type ReminderData, rename from append_alarm (reminder_add_cb): math new append_alarm signature (reminder_delete_cb): if the alarm existed before the dialog was loaded, delete it immediately from the cal component 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 consistent * gui/e-day-view.c (e_day_view_on_event_right_click): ditto * gui/e-calendar-table.c: ditto svn path=/trunk/; revision=8037
* <gnome.h> trimming to reduce compilation time. Likewise. Likewise.Federico Mena Quintero2001-01-301-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-29 Federico Mena Quintero <federico@ximian.com> * gui/calendar-config.c: <gnome.h> trimming to reduce compilation time. * gui/calendar-summary.c: Likewise. * gui/e-calendar-table.c: Likewise. * gui/e-day-view-time-item.c: Likewise. * gui/e-day-view.c: Likewise. * gui/e-itip-control.c: Likewise. * gui/e-meeting-edit.c: Likewise. * gui/e-meeting-edit.h: Likewise. * gui/e-tasks.c: Likewise. * gui/e-week-view.c: Likewise. * gui/event-editor.c: Likewise. * gui/gnome-cal.c: Likewise. * gui/goto.c: Likewise. * gui/itip-utils.h: Likewise. * gui/main.c: Likewise. * gui/popup-menu.c: Likewise. * gui/print.c: Likewise. * gui/tasks-control-factory.c: Likewise. * gui/tasks-control.c: Likewise. * gui/tasks-migrate.c: Likewise. svn path=/trunk/; revision=7896
* libical import cleanupJP Rosevear2001-01-241-16/+16
| | | | | | | | 2001-01-23 JP Rosevear <jpr@ximian.com> * libical import cleanup svn path=/trunk/; revision=7753
* New files with a simple sequence to migrate the task components from theFederico Mena Quintero2001-01-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-18 Federico Mena Quintero <federico@ximian.com> * gui/tasks-migrate.[ch]: New files with a simple sequence to migrate the task components from the old calendar folder into the new tasks folder. * gui/component-factory.c (owner_set_cb): Call tasks_migrate() once evolution_dir is set. It sucks to have to do this here. * cal-client/cal-client.c (cal_client_get_uids): In the inline docs, indicate how to free the return value. (cal_opened_cb): Ahem, moved assertion to the right place. Also, ref() and unref() around our own signal emission because we are not inside a signal handler, rather a simple callback from the listener object; we want to have a chance to clean up even if the client is unrefed during the emission. * gui/Makefile.am (evolution_calendar_SOURCES): Added tasks-migrate.[ch] to the list of sources. 2001-01-17 Federico Mena Quintero <federico@ximian.com> * gui/event-editor.c (init_widgets): Use e_calendar_item_set_max_days_sel() instead of setting GTK+ object arguments. * gui/e-day-view.c (e_day_view_set_cal_client): Oops, we had a reversed test for the client being loaded. * gui/tag-calendar.c (tag_calendar_by_client): Fixed similarly reversed test. svn path=/trunk/; revision=7622
* gui/e-week-view*.c don't use the theme colors at all within the graphicalDamon Chaplin2001-01-181-24/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-17 Damon Chaplin <damon@helixcode.com> * gui/e-week-view*.c * gui/e-day-view*.c: don't use the theme colors at all within the graphical parts of the widgets, since they may clash with our colors. May make them configurable in future so people can tweak them to go with their theme. At least the calendars are usable in any theme now, even though the colors may not go well with the theme. Also set the font of all the EText items in style_set. * gui/e-week-view-event-item.c (e_week_view_event_item_draw): don't draw the icons if we are editing the event. * gui/e-day-view.c: * gui/e-week-view.c: reinstated the optimizations so we don't do a complete relayout if the event's dates haven't been changed. (Though we still do a re-layout when recurring events change, since comparing all the RDATES/RRULES/EXDATES/EXRULES is too much hassle.) A side-effect of this change is that the EWeekView won't crash so often - only recurring events will be a problem. * cal-util/cal-component.[hc]: added function to check if the start and end dates of a component match. Used for optimizing the updating of the EDayView & EWeekView. svn path=/trunk/; revision=7593
* Ximianified email addresses and copyrights.Federico Mena Quintero2001-01-171-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* moved #include <cal-client/cal-client.h> to the .h file.Damon Chaplin2001-01-141-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-14 Damon Chaplin <damon@helixcode.com> * gui/dialogs/task-editor.[hc]: moved #include <cal-client/cal-client.h> to the .h file. * gui/e-tasks.c: load & save the Tasks folders' ETable layout. Added an option menu to filter tasks by category. * gui/gnome-cal.c: use the "Tasks" folder for the TaskPad. (We may make the actual tasks folder shown a per-calendar option.) * gui/tasks-control.c (tasks_control_new_task_cmd): added support for the New Task icon on the toolbar. * gui/e-calendar-table.[hc]: we now use an ETableSubsetVariable model to filter the tasks by a category. And tidied up a little. * gui/calendar-model.[hc]: added way to get all the categories used by the tasks, so we can show an option menu of them. Also a signal which is emitted when they are changed. Also allows a default category to be set, which is used to initialize the 'click-to-add' row. Also made sure the initialize_value()/get_value() functions don't return NULL since that can cause a SEGV. * gui/e-week-view.c: * gui/e-day-view.c: set the "fill_color_rgba" arg of the EText items to black since it doesn't seem to set up a default color properly. Hopefully this fixes the bug on Solaris where the items appear with strange colors. * gui/widget-util.c (date_edit_new): use the calendar_config function to set most of the options. It wasn't setting the 12/24 hour option before. * gui/dialogs/task-editor-dialog.glade: added "Undefined" priority. svn path=/trunk/; revision=7483
* Do not compose strings so that they can be localized correctly. Also,Federico Mena Quintero2001-01-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-02 Federico Mena Quintero <federico@helixcode.com> * gui/dialogs/delete-comp.c (delete_component_dialog): Do not compose strings so that they can be localized correctly. Also, convert from UTF8 into the font's encoding. Fixes bug #1030. * gui/e-calendar-table.c (delete_component): Pass the widget argument to delete_component_dialog(). * gui/e-day-view.c (e_day_view_on_delete_appointment): Likewise. * gui/e-week-view.c (e_week_view_on_delete_appointment): Likewise. * gui/event-editor.c (file_delete_cb): Likewise. * gui/calendar-commands.c: Use BONOBO_UI_VERB() instead of BONOBO_UI_UNSAFE_VERB(). Guess what, all of our handler signatures were wrong. * gui/event-editor.c: Likewise. * gui/dialogs/task-editor.c: Likewise. * gui/goto-dialog.glade: Added some spacing between the month/year widgets and the calendar widget. svn path=/trunk/; revision=7211
* Set draw background to FALSE. (e_day_view_reshape_long_event): ditto.Miguel de Icaza2000-12-251-0/+4
| | | | | | | | | | 2000-12-25 Miguel de Icaza <miguel@helixcode.com> * gui/e-day-view.c (e_day_view_init): Set draw background to FALSE. (e_day_view_reshape_long_event): ditto. (e_day_view_reshape_day_event): ditto. svn path=/trunk/; revision=7166
* Alarm trigger queueing for the GUI part.Federico Mena Quintero2000-12-231-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-12-21 Federico Mena Quintero <federico@helixcode.com> Alarm trigger queueing for the GUI part. * gui/alarm-notify.[ch]: New files with the high-level alarm notification system; mostly moved over from gnome-cal.c. The low-level timer stuff is still in alarm.[ch]. * gui/alarm-notify.c (alarm_notify_init): New function to initialize the alarm notification system. (alarm_notify_done): New function to shut down the alarm notification system. (alarm_notify_add_client): New function to start monitoring a calendar client for alarm notification. (alarm_notify_remove_client): New function to stop monitoring a client. * gui/alarm.h (AlarmDestroyNotify): Also pass in the alarm ID so the callback may know which ID is being destroyed. * gui/alarm.c (clear_itimer): New function. (pop_alarm): Use clear_itimer(). (alarm_done): New function to shut down the timer system. (alarm_add): Add some preconditions. Do not call the destroy notification function if we could not create the alarm. (alarm_ready): Pass the alarm ID to the destroy notify function. (alarm_remove): Likewise. Also, add some preconditions. * gui/gnome-cal.c: Removed the alarm notification functions from here since they are now in alarm-notify.c. (gnome_calendar_construct): Register the client with alarm_notify_add_client(). (gnome_calendar_destroy): Use alarm_notify_remove_client() to unregister the client. (obj_updated_cb): Do not do any alarm-related stuff. (obj_removed_cb): Likewise. * gui/main.c (main): Shut down the alarm timer system. (main): Initialize and shut down the alarm notification system. * gui/Makefile.am (evolution_calendar_SOURCES): Added alarm-notify.[ch] to the list of sources. * gui/calendar-model.c (calendar_model_set_cal_client): Only connect to the "cal_loaded" signal if the client is not already loaded. * gui/e-day-view.c (e_day_view_set_cal_client): Likewise. * gui/e-week-view.c (e_week_view_set_cal_client): Likewise. * gui/e-itip-control.c (update_calendar): Connect to "cal_loaded" before issuing the load request. svn path=/trunk/; revision=7130
* Even though icaltime_from_timet() now properly ignores the is_utc argumentFederico Mena Quintero2000-12-141-16/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-12-13 Federico Mena Quintero <federico@helixcode.com> * cal-util/cal-component.c (ensure_mandatory_properties): Even though icaltime_from_timet() now properly ignores the is_utc argument since time_t values *are* in UTC by definition, we were passing FALSE for that argument's value in a bunch of places. So although it is ignored, changed them to TRUE for consistency. Hopefully newer versions of libical will remove that argument entirely since it does not make sense to speak of non-absolute time_t values. * cal-util/cal-recur.c (cal_recur_set_rule_end_date): Likewise. * conduits/calendar/calendar-conduit.c (comp_from_remote_record): Likewise. * conduits/todo/todo-conduit.c (comp_from_remote_record): Likewise. * gui/dialogs/task-editor.c (dialog_to_comp_object): Likewise. * gui/e-day-view.c (e_day_view_on_new_appointment): Likewise. (e_day_view_on_delete_occurrence): Likewise. (e_day_view_on_unrecur_appointment): Likewise. (e_day_view_on_unrecur_appointment): Likewise. (e_day_view_finish_long_event_resize): Likewise. (e_day_view_finish_resize): Likewise. (e_day_view_key_press): Likewise. (e_day_view_on_top_canvas_drag_data_received): Likewise. (e_day_view_on_main_canvas_drag_data_received): Likewise. * gui/e-week-view.c (e_week_view_key_press): Likewise. (e_week_view_on_new_appointment): Likewise. (e_week_view_on_delete_occurrence): Likewise. (e_week_view_on_unrecur_appointment): Likewise. * gui/event-editor.c (simple_recur_to_comp_object): Likewise. (recur_to_comp_object): Likewise. (dialog_to_comp_object): Likewise. * gui/gnome-cal.c (gnome_calendar_new_appointment): Likewise. svn path=/trunk/; revision=6995
* #if 0ed cal_obj_date_only_compare_func. (cal_object_get_rdate_end):Christopher James Lahey2000-12-141-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | 2000-12-13 Christopher James Lahey <clahey@helixcode.com> * cal-util/cal-recur.c: #if 0ed cal_obj_date_only_compare_func. (cal_object_get_rdate_end): Changed this function to get rid of a possible uninitialized error on the rdate function. * gui/calendar-model.c: Fixed some warnings involving the #define _XOPEN_SOURCE lines here. * gui/component-factory.c: #ifdef WANT_THE_EXECUTIVE_SUMMARYed out the summary_factory object since it's unused if WANT_THE_EXCUTIVE_SUMMARY is not defined. * gui/e-day-view.c: #if 0ed out e_day_view_remove_event_cb. (obj_updated_cb): #ifndef NO_WARNINGSed out a #warning. * gui/e-week-view-event-item.c (e_week_view_event_item_draw): Made it so that * gui/e-week-view.c (obj_updated_cb): #ifndef NO_WARNINGSed out a #warning. svn path=/trunk/; revision=6982
* added changed flags and added calls to a new functionDamon Chaplin2000-12-111-14/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-12-11 Damon Chaplin <damon@helixcode.com> * gui/event-editor.c: added changed flags and added calls to a new function event_editor_set_changed() to set & reset this flag. Added prompt_to_save_changed() which is called when the user selects File/Close or the window's close button. Fixed the 'All day event' toggle button. Made the 'Alarm' page sensitive as appropriate when filling widgets. (Though note that the alarm widgets are not being set yet.) * gui/dialogs/task-editor.c: added changed flag as above. * gui/event-editor-dialog.glade: used good names for all the classification radio buttons so we can access them in the code. * gui/event-editor.c (init_widgets): use the "show week numbers" config option in the recurrence preview calendar. * gui/e-day-view.c (e_day_view_update_event_label): use 9:00 instead of 09:00 in the main view, as we do everywhere else now. It means the times won't line up, but they are easier to read which I think is better. Added support for Page Up/Down, though I think it should move the selection rather than just scroll the canvas. * cal-util/cal-recur.c (generate_instances_for_chunk): removed the end parameter since we should be using the chunk end time now. Added single_rule parameter for when we are generating the occurrences of a single RRULE, in which case the event's start date is not included in the occurrences output (unless it results from the RRULE expansion). Both of these fix problems when using COUNT. * gui/gnome-cal.c (gnome_calendar_on_date_navigator_selection_changed): fixed bug when checking if the new start day starts on the week start day. If you select a complete week it should now show the Week view. svn path=/trunk/; revision=6896
* Fixes bug #920.Federico Mena Quintero2000-12-071-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-12-06 Federico Mena Quintero <federico@helixcode.com> Fixes bug #920. * gui/e-calendar-table.c (delete_component): New function. (e_calendar_table_on_delete_task): Use delete_component(). (e_calendar_table_on_key_press): Likewise. Also, mark the event as handled. * gui/calendar-model.c (calendar_model_get_component): Renamed function from calendar_model_get_cal_object(). (calendar_model_delete_task): Removed function. * gui/dialogs/delete-comp.[ch]: New files with the dialog for deleting a calendar component. * gui/e-day-view.c (e_day_view_on_delete_appointment): Confirm before actually deleting the appointment. * gui/e-week-view.c (e_week_view_on_delete_appointment): Likewise. * gui/dialogs/Makefile.am (libcal_dialogs_a_SOURCES): Added delete-comp.[ch] to the list of sources. * cal-util/cal-component.c (cal_component_destroy): Free the alarm UID hash. svn path=/trunk/; revision=6828
* finished 12-hour support and tried to tidy up & comment the drawing codeDamon Chaplin2000-11-291-44/+77
| | | | | | | | | | | 2000-11-28 Damon Chaplin <damon@helixcode.com> * gui/e-day-view*.[hc]: * gui/e-week-view*.[hc]: finished 12-hour support and tried to tidy up & comment the drawing code in places. Also fixed a couple of bugs I spotted. All the options on the 'Calendar' page should now work. svn path=/trunk/; revision=6706
* == instead of =.Damon Chaplin2000-11-271-1/+1
| | | | | | | | 2000-11-26 Damon Chaplin <damon@helixcode.com> * gui/e-day-view.c (e_day_view_set_days_shown): == instead of =. svn path=/trunk/; revision=6676
* added more support for config settings.Damon Chaplin2000-11-271-44/+381
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-11-26 Damon Chaplin <damon@helixcode.com> * gui/gnome-cal.c: added more support for config settings. * gui/e-week-view.[hc]: * gui/e-day-view.[hc]: added support for setting - show event end times, week start day and 12-hour format (unfinished). * gui/e-day-view-time-item.c: started 12-hour support. * gui/tag-calendar.c (prepare_tag): use end_day + 1 since we want to include the last day. * gui/event-editor.c (set_all_day): minor change when turning all_day off - set the event end to one hour after the event start if it is on or before the start time. Also added more comments to make it a bit clearer. * cal-util/cal-recur.c (cal_obj_time_add_days): use a gint for day rather than a guint since we now support -ve days. Also fixed bug with weekly recurrences. * gui/dialogs/task-editor.c (task_editor_create_date_edit): use config settings. * gui/dialogs/cal-prefs-dialog.c (cal_prefs_dialog_update_config): updated EDateEdit calls. svn path=/trunk/; revision=6675
* These changes fix bugzilla bugs #874 and #875.Federico Mena Quintero2000-11-091-28/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-11-08 Federico Mena Quintero <federico@helixcode.com> These changes fix bugzilla bugs #874 and #875. * cal-util/cal-component.c (cal_component_get_exdate_list): Return a list of CalComponentDateTime instead of simple struct icaltimetype objects. Exception date properties *can* contain a timezone parameter, so we need to include those if they are present. (cal_component_set_exdate_list): On the input, handle a list of CalComponentDateTime structures. On the internals, handle a list of struct datetime instead of plain properties. (cal_component_free_exdate_list): Handle a list of CalComponentDateTime structures. (scan_exdate): Create a list of struct datetime structures. (free_icalcomponent): Free the exdate_list properly. * cal-util/cal-recur.c (generate_instances_for_chunk): Use the proper types for exception dates. * gui/comp-util.h: * gui/comp-util.c: New files with utilities for manipulating calendar component objects. (cal_comp_util_add_exdate): New function. * gui/Makefile.am (evolution_calendar_SOURCES): Added comp-util.[ch] to the list of sources. * gui/e-day-view.c (add_exdate): New convenience function to add an exception date to a calendar component. (e_day_view_on_unrecur_appointment): Use cal_comp_util_add_exdate(). (e_day_view_on_delete_occurrence): Likewise. * gui/e-week-view.c (e_week_view_on_delete_occurrence): Likewise. (e_week_view_on_unrecur_appointment): Likewise. * gui/event-editor.c (nth_weekday): Be paranoid about valid position values. (fill_widgets): Use the proper types for exdates. (dialog_to_comp_object): Likewise. svn path=/trunk/; revision=6517
* added _click-to-add-message, though I'm not sure if i18n will work.Damon Chaplin2000-10-201-9/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-10-20 Damon Chaplin <damon@helixcode.com> * gui/e-calendar-table.c (E_CALENDAR_TABLE_SPEC): added _click-to-add-message, though I'm not sure if i18n will work. * cal-util/cal-recur.c (cal_obj_time_add_hours): (cal_obj_time_add_minutes): (cal_obj_time_add_seconds): updated to handle -ve args. * cal-util/timeutil.c (time_add_day): set tm_isdst to -1 before calling mktime(). * cal-util/cal-recur.c (generate_instances_for_chunk): don't call the callback if the event ends exactly on the interval start time. * gui/e-week-view.c (e_week_view_reshape_event_span): * gui/e-week-view-event-item.c (e_week_view_event_item_draw_icons): * gui/e-day-view-top-item.c (e_day_view_top_item_draw_long_event): * gui/e-day-view-main-item.c (e_day_view_main_item_draw_day_event): * gui/e-day-view.c (e_day_view_reshape_long_event): (e_day_view_reshape_day_event): use cal_component_has_alarms(). * cal-util/cal-component.[hc]: added cal_component_has_alarms(). 2000-10-16 Damon Chaplin <damon@helixcode.com> * gui/calendar-config.c (config_read): set default MonthVPanePosition to 1 rather than 0, so if you move the hpane you'll see the date navigator. svn path=/trunk/; revision=6063
* call calendar_config_write_on_exit() to write out some special configDamon Chaplin2000-10-121-0/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-10-11 Damon Chaplin <damon@helixcode.com> * gui/main.c (main): call calendar_config_write_on_exit() to write out some special config settings (as the mail component does). * gui/calendar-commands.c (properties_cmd): changed to use the new preferences dialog. (update_all_config_settings): new function to iterate over all the calendars and update the config settings. * gui/dialogs/cal-prefs-dialog.glade: preferences dialog. * gui/dialogs/cal-prefs-dialog.[hc]: new files for the preferences dialog. * gui/calendar-config.[hc]: new files to handle loading/saving config settings. * cal-util/cal-recur.c: fixed bug in YEARLY when no filters were set, plus minor changes. * cal-util/test-recur.c: updated. * gui/e-day-view-time-item.c: * gui/popup-menu.c: update to #include <gal/widgets/e-gui-utils.h> * gui/component-factory.c (owner_set_cb): called calendar_config_init. (owner_set_cb): (owner_unset_cb): updated the prototypes. * gui/main.c (main): added call to calendar_config_write_on_exit(). * gui/component-factory.h: * gui/component-factory.c (owner_set_cb): added global evolution_dir just like the mail component, so we know we to store config stuff. svn path=/trunk/; revision=5856
* when the user types in a new event, don't create it until the user hitsDamon Chaplin2000-10-051-34/+8
| | | | | | | | | | | | | | | | | | | 2000-10-05 Damon Chaplin <damon@helixcode.com> * gui/e-day-view.c: * gui/e-week-view.c: when the user types in a new event, don't create it until the user hits Return or switches focus. Removed the editing_new_event flags. * cal-util/test-recur.c: rewritten to work on ics files. Now I can start testing the recurrence code. * cal-util/cal-recur.c: a few fixes. * gui/e-day-view.c (e_day_view_check_if_new_event_fits): fixed to return TRUE for long events, not FALSE. svn path=/trunk/; revision=5729
* updated to support RDATE end times or durations. Note that if you have twoDamon Chaplin2000-09-301-26/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-09-29 Damon Chaplin <damon@helixcode.com> * cal-util/cal-recur.c: updated to support RDATE end times or durations. Note that if you have two RDATEs with the same start times, but with different end dates/durations set, the results are unpredictable. So the event editor dialog should check for this. * gui/e-week-view-main-item.c (e_week_view_main_item_draw_day): make strftime() strings translatable, and changed the formats a bit. * NOTE: someone needs to check print.c to make sure strftime strings are OK for i18n. * gui/e-day-view.h: Changed EDayViewDateFormat enum. We now try to include the weekday if possible. Also changed EDayView struct so we store the month & weekdays with the longest names rather than the actual widths. This helps i18n. * gui/e-day-view.c (e_day_view_recalc_cell_sizes): used _() for strftime strings, tried to see if weekday fits, and rearranged a bit to make i18n easier. * gui/e-day-view-top-item.c (e_day_view_top_item_draw): used _() for strftime strings, and updated to use new formats. * gui/calendar-model.c: added use_24_hour_format boolean to CalendarModelPrivate so we can display dates in 12-hour format if requested. This meant adding a CalendarModel argument to a few functions. Also added get/set functions to set use_24_hour_format. I suppose ideally we should have an ECellDate renderer and this option should go there. svn path=/trunk/; revision=5646
* Added check for gnome-app-lib. Removed directories that have been moved toChristopher James Lahey2000-09-181-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * configure.in: Added check for gnome-app-lib. Removed directories that have been moved to gal. From addressbook/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * backend/ebook/Makefile.am, contact-editor/Makefile.am, ename/Makefile.am, gui/component/Makefile.am, gui/widgets/Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * backend/ebook/e-card.c, backend/pas/pas-backend-file.c, contact-editor/e-contact-editor-address.c, contact-editor/e-contact-editor-categories.c, contact-editor/e-contact-editor-categories.h, contact-editor/e-contact-editor-fullname.c, contact-editor/e-contact-editor.c, contact-editor/e-contact-save-as.c, ename/e-address-western.c, ename/test-ename-western-gtk.c, gui/component/addressbook-factory.c, gui/component/addressbook.c, gui/component/e-cardlist-model.h, gui/component/e-ldap-storage.c, gui/component/select-names/e-select-names-bonobo.c, gui/component/select-names/e-select-names-manager.c, gui/component/select-names/e-select-names-model.c, gui/component/select-names/e-select-names-table-model.c, gui/component/select-names/e-select-names-table-model.h, gui/component/select-names/e-select-names-text-model.h, gui/component/select-names/e-select-names.c, gui/component/select-names/e-select-names.h, gui/search/e-addressbook-search-dialog.c, gui/widgets/e-addressbook-model.h, gui/widgets/e-addressbook-view.c, gui/widgets/e-minicard-label.c, gui/widgets/e-minicard-view-widget.c, gui/widgets/e-minicard-view-widget.h, gui/widgets/e-minicard-view.c, gui/widgets/e-minicard-view.h, gui/widgets/e-minicard-widget.h, gui/widgets/e-minicard.c, gui/widgets/test-minicard-label.c, gui/widgets/test-reflow.c, printing/e-contact-print.c: Fixed the #include lines to deal properly with gal. From calendar/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * gui/Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * gui/calendar-model.h, gui/e-calendar-table.c, gui/e-day-view.c, gui/e-week-view-event-item.c, gui/e-week-view.c, gui/event-editor.c, gui/gncal-todo.c, gui/gnome-cal.c, gui/main.c, gui/print.c, gui/dialogs/task-editor.c: Fixed the #include lines to deal properly with gal. * gui/check-filled.xpm: New file since we can't include it from e-table anymore. From camel/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * camel-folder-search.c, camel-folder-search.h, camel-remote-store.c, providers/imap/camel-imap-folder.c, providers/imap/camel-imap-store.c: Fixed the #include lines to deal properly with gal. From composer/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-msg-composer-address-dialog.c, e-msg-composer-address-entry.c, e-msg-composer-attachment.c, e-msg-composer-hdrs.c, e-msg-composer.c: Fixed the #include lines to deal properly with gal. From e-util/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Removed all the files moved to gal. * e-dialog-widgets.c: Fixed the #include lines to deal properly with gal. * e-gui-utils.c, e-gui-utils.h: Removed all of the functionality that was moved to gal. * e-canvas-utils.c, e-canvas-utils.h, e-canvas-vbox.c, e-canvas-vbox.h, e-canvas.c, e-canvas.h, e-cursors.c, e-cursors.h, e-font.c, e-font.h, e-popup-menu.c, e-popup-menu.h, e-printable.c, e-printable.h, e-unicode.c, e-unicode.h, e-util.c, e-util.h, e-xml-utils.c, e-xml-utils.h: Moved to gal. From filter/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * filter-editor.c, filter-filter.c, filter-folder.c, filter-input.c, filter-message-search.c, filter-option.c, filter-rule.c, score-editor.c, vfolder-editor.c, vfolder-rule.c: Fixed the #include lines to deal properly with gal. From mail/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * component-factory.c, folder-browser-factory.c, folder-browser.c, mail-callbacks.c, mail-config-gui.c, mail-display.c, mail-display.h, main.c, message-list.c, message-list.h: Fixed the #include lines to deal properly with gal. From po/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * POTFILES.in: Removed files that have been moved to gal. From shell/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-component-registry.c, e-corba-storage-registry.c, e-corba-storage.c, e-folder-type-registry.c, e-folder.c, e-local-folder.c, e-local-storage.c, e-shell-folder-creation-dialog.c, e-shell-folder-selection-dialog.c, e-shell-folder-title-bar.c, e-shell-view.c, e-shell.c, e-shortcuts-view.c, e-shortcuts.c, e-storage-set-view.c, e-storage-set-view.h, e-storage-set.c, e-storage.c, evolution-local-storage.c, evolution-session.c, evolution-shell-client.c, evolution-shell-component-client.c, evolution-shell-component.c, evolution-shell-view.c, evolution-storage-listener.c, evolution-storage.c, main.c: Fixed the #include lines to deal properly with gal. From widgets/meeting-time-sel/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-meeting-time-sel-list-item.c, e-meeting-time-sel.c, e-meeting-time-sel.h: Fixed the #include lines to deal properly with gal. If you've read this far, you deserve a prize. The first email in my mailbox with the subject "What a commit message!" (and your physical mailing address somewhere in the message) will receive a free Helix Code T-shirt mailed to anywhere within the continental United States. I cannot be held responsible for problems with email systems anywhere. This is supposed to be for fun, so please don't make a fuss if something goes wrong and your mail doesn't reach me. Find my email elsewhere in this message, and if it's been more than a few days, you're probably too late. From widgets/misc/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-calendar-item.c, e-calendar.c, e-calendar.h, e-title-bar.c: Fixed the #include lines to deal properly with gal. * e-scroll-frame.c, e-scroll-frame.h: Moved to gal. From widgets/shortcut-bar/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-icon-bar.c, e-icon-bar.h, e-shortcut-bar.c, e-shortcut-model.c, test-shortcut-bar.c: Fixed the #include lines to deal properly with gal. From widgets/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Removed directories that have been moved to gal. * e-paned/.cvsignore, e-paned/Makefile.am, e-paned/e-hpaned.c, e-paned/e-hpaned.h, e-paned/e-paned.c, e-paned/e-paned.h, e-paned/e-vpaned.c, e-paned/e-vpaned.h: Moved to gal. * e-reflow/.cvsignore, e-reflow/Makefile.am, e-reflow/e-reflow-sorted.c, e-reflow/e-reflow-sorted.h, e-reflow/e-reflow.c, e-reflow/e-reflow.h: Moved to gal. * e-table/.cvsignore, e-table/ChangeLog, e-table/LICENSE, e-table/Makefile.am, e-table/ROADMAP.e-table, e-table/TODO, e-table/add-col.xpm, e-table/arrow-down.xpm, e-table/arrow-up.xpm, e-table/check-empty.xpm, e-table/check-filled.xpm, e-table/clip.png, e-table/e-cell-checkbox.c, e-table/e-cell-checkbox.h, e-table/e-cell-string.c, e-table/e-cell-text.c, e-table/e-cell-text.h, e-table/e-cell-toggle.c, e-table/e-cell-toggle.h, e-table/e-cell-tree.c, e-table/e-cell-tree.h, e-table/e-cell.c, e-table/e-cell.h, e-table/e-table-click-to-add.c, e-table/e-table-click-to-add.h, e-table/e-table-col-dnd.h, e-table/e-table-col.c, e-table/e-table-col.h, e-table/e-table-column-model.h, e-table/e-table-column.c, e-table/e-table-config.c, e-table/e-table-config.glade, e-table/e-table-config.glade.h, e-table/e-table-config.h, e-table/e-table-defines.h, e-table/e-table-example-1.c, e-table/e-table-example-2.c, e-table/e-table-field-chooser-dialog.c, e-table/e-table-field-chooser-dialog.h, e-table/e-table-field-chooser-item.c, e-table/e-table-field-chooser-item.h, e-table/e-table-field-chooser.c, e-table/e-table-field-chooser.glade, e-table/e-table-field-chooser.glade.h, e-table/e-table-field-chooser.h, e-table/e-table-group-container.c, e-table/e-table-group-container.h, e-table/e-table-group-leaf.c, e-table/e-table-group-leaf.h, e-table/e-table-group.c, e-table/e-table-group.glade, e-table/e-table-group.glade.h, e-table/e-table-group.h, e-table/e-table-header-item.c, e-table/e-table-header-item.h, e-table/e-table-header.c, e-table/e-table-header.h, e-table/e-table-item.c, e-table/e-table-item.h, e-table/e-table-model.c, e-table/e-table-model.h, e-table/e-table-one.c, e-table/e-table-one.h, e-table/e-table-scrolled.c, e-table/e-table-scrolled.h, e-table/e-table-selection-model.c, e-table/e-table-selection-model.h, e-table/e-table-simple.c, e-table/e-table-simple.h, e-table/e-table-size-test.c, e-table/e-table-sort-info.c, e-table/e-table-sort-info.h, e-table/e-table-sorted-variable.c, e-table/e-table-sorted-variable.h, e-table/e-table-sorted.c, e-table/e-table-sorted.h, e-table/e-table-sorter.c, e-table/e-table-sorter.h, e-table/e-table-subset-variable.c, e-table/e-table-subset-variable.h, e-table/e-table-subset.c, e-table/e-table-subset.h, e-table/e-table-text-model.c, e-table/e-table-text-model.h, e-table/e-table-tooltip.h, e-table/e-table-tree.h, e-table/e-table.c, e-table/e-table.h, e-table/e-tree-example-1.c, e-table/e-tree-example-2.c, e-table/e-tree-model.c, e-table/e-tree-model.h, e-table/e-tree-simple.c, e-table/e-tree-simple.h, e-table/image1.png, e-table/image2.png, e-table/image3.png, e-table/remove-col.xpm, e-table/sample.table, e-table/table-test.c, e-table/table-test.h, e-table/test-check.c, e-table/test-cols.c, e-table/test-table.c: Moved to gal. * e-text/.cvsignore, e-text/Makefile.am, e-text/e-entry-test.c, e-text/e-entry.c, e-text/e-entry.h, e-text/e-text-event-processor-emacs-like.c, e-text/e-text-event-processor-emacs-like.h, e-text/e-text-event-processor-types.h, e-text/e-text-event-processor.c, e-text/e-text-event-processor.h, e-text/e-text-model.c, e-text/e-text-model.h, e-text/e-text-test.c, e-text/e-text.c, e-text/e-text.h: Moved to gal. i.e., ... changed evolution to work with gal. svn path=/trunk/; revision=5490
* Fixed a warning (removed unused variable gfloat width fromChristopher James Lahey2000-09-111-1/+0
| | | | | | | | | 2000-09-11 Christopher James Lahey <clahey@helixcode.com> * gui/e-day-view.c: Fixed a warning (removed unused variable gfloat width from e_day_view_get_event_position.) svn path=/trunk/; revision=5318
* changed to use EDateEdit.Damon Chaplin2000-09-111-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-09-11 Damon Chaplin <damon@helixcode.com> * gui/dialogs/task-editor.c: changed to use EDateEdit. * gui/dialogs/task-editor-dialog.glade: added "None" option to Classification option menu, and used custom widgets for the date entries so we can use EDateEdit widgets. * gui/event-editor.c: changed to use EDateEdit. Note that this needs to be fixed at some point to handle invalid dates, i.e. when e_date_edit_get_time returns -1. * gui/calendar-model.c (ensure_task_complete): (ensure_task_not_complete): new functions to set the related properties to make sure a task is marked as complete on not, i.e. "Date Completed" "Status" and "Percent" properties. 2000-09-08 Damon Chaplin <damon@helixcode.com> * gui/calendar-model.c (get_is_complete): use the status field rather than the completed date, as it is more reliable. (get_is_overdue): use get_is_complete(). (calendar_model_mark_task_complete): check if it is already complete, and if so don't update it. * cal-util/cal-component.c (cal_component_get_status): (cal_component_set_status): added functions to support the STATUS property. Also added the property to CalComponentPrivate and set it to NULL in free_icalcomponent(). Someone should check my code as I've mainly done a Cut & Paste job. svn path=/trunk/; revision=5305
* Fixed some warnings.Christopher James Lahey2000-09-091-1/+5
| | | | | | | | | | 2000-09-08 Christopher James Lahey <clahey@helixcode.com> * cal-util/cal-recur.c, gui/e-day-view.c, gui/e-week-view.c, gui/event-editor.c, gui/getdate.y, gui/gncal-todo.c, gui/gnome-cal.c, gui/dialogs/task-editor.c: Fixed some warnings. svn path=/trunk/; revision=5264
* Fall equinox cleanup!Federico Mena Quintero2000-09-081-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-09-08 Federico Mena Quintero <federico@helixcode.com> Fall equinox cleanup! OK, I know the equinox is not here yet, but weather has changed enough to warrant it. Sigh. This place is definitely not the tropics. * gui/gnome-cal.c (obj_updated_cb): Renamed from gnome_calendar_object_updated_cb(); fixed prototype. (obj_removed_cb): Renamed from gnome_calendar_object_removed_cb(); fixed prototype. (GnomeCalendarPrivate): Moved all the GnomeCalendar fields to a private structure so I don't have to rebuild the whole calendar GUI directory every time something changes in the object. (GnomeCalendarPrivate): Removed the property bag and the control fields; they are local to the control-factory now. (gnome_calendar_update_view_buttons): Remove the ignore_view_button_clicks mess and just block the signal. (gnome_calendar_set_view): Added a "focus" argument to indicate whether we want the main widget in the specified view to grab the focus. (gnome_calendar_set_view_internal): Handle the focus argument here. (gnome_calendar_set_view_buttons): Temporary hack to notify the calendar about its buttons. (gnome_calendar_get_selected_time_range): New function. (gnome_calendar_get_cal_client): New function. * gui/control-factory.c (calendar_properties_init): Keep the property bag local to here; it does not need to be in the calendar object yet. (control_factory_fn): Renamed from control_factory(). Just use control_factory_new_control(). (control_factory_new_control): Moved the stuff over from create_control(), and keep the control local to here. Check the return value of bonobo_control_new(). * gui/calendar-commands.c (show_day_view_clicked): Remove the ignore_view_button_clicks mess. (new_calendar): Removed the useless "page" argument. (calendar_control_activate): Use gnome_calendar_set_view_buttons() for now. svn path=/trunk/; revision=5255
* Use new cal_component_has_recurrences convenience functionJP Rosevear2000-09-061-22/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-09-06 JP Rosevear <jpr@helixcode.com> * gui/e-day-view-main-item.c (e_day_view_main_item_draw_day_event): Use new cal_component_has_recurrences convenience function * gui/e-week-view.c (e_week_view_show_popup_menu): ditto * gui/e-week-view-event-item.c (e_week_view_event_item_draw_icons): ditto * gui/calendar-model.c (calendar_model_value_at): ditto (calendar_model_value_at): ditto * gui/e-day-view.c (e_day_view_on_event_click): ditto (e_day_view_on_event_right_click): ditto (e_day_view_on_top_canvas_motion): ditto (e_day_view_on_top_canvas_motion): ditto (e_day_view_on_main_canvas_motion): ditto (e_day_view_on_main_canvas_motion): ditto (e_day_view_reshape_day_event): ditto * gui/e-day-view-top-item.c (e_day_view_top_item_draw_long_event): ditto * gui/e-day-view.c (e_day_view_on_long_event_click): ditto svn path=/trunk/; revision=5220
* uses the new TaskEditor dialog.Damon Chaplin2000-09-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | 2000-09-06 Damon Chaplin <damon@helixcode.com> * gui/e-calendar-table.c (e_calendar_table_open_task): uses the new TaskEditor dialog. * gui/dialogs/task-editor.[hc]: * gui/dialogs/task-editor-dialog.glade: updated. Still need to fix the 'Status' property (CalComponent doesn't support it yet), and use a replacement for GnomeDateEdit, since we need to support setting 'None' as the date. 2000-09-04 Damon Chaplin <damon@helixcode.com> * gui/event-editor.c (obj_updated_cb): (obj_removed_cb): compare the updated object's uid with the one we are editing, and just return if it doesn't match. 2000-09-01 Damon Chaplin <damon@helixcode.com> * gui/gnome-cal.c (gnome_calendar_tag_calendar): added check to see if the client has loaded successfully. Gets rid of a few warnings. svn path=/trunk/; revision=5217
* The exdate and rdate lists are a list of icaltimetypes, notJP Rosevear2000-09-061-5/+4
| | | | | | | | | | | | | | 2000-09-05 JP Rosevear <jpr@helixcode.com> * cal-util/cal-recur.c (generate_instances_for_year): The exdate and rdate lists are a list of icaltimetypes, not CalComponentPeriods *gui/e-day-view.c (e_day_view_on_delete_occurrence): The exdate list is a list of icaltimetypes, not CalComponentDateTimes svn path=/trunk/; revision=5211
* Append the exdate to the list AFTER we create the date value.JP Rosevear2000-09-061-3/+3
| | | | | | | | | 2000-09-05 JP Rosevear <jpr@helixcode.com> * gui/e-day-view.c (e_day_view_on_delete_occurrence): Append the exdate to the list AFTER we create the date value. svn path=/trunk/; revision=5204
* No need to spit a warning if removal fails. (event_editor_destroy): FreeFederico Mena Quintero2000-09-011-2/+5
| | | | | | | | | | | | | | | | | | | | | | | 2000-08-31 Federico Mena Quintero <federico@helixcode.com> * gui/event-editor.c (file_delete_cb): No need to spit a warning if removal fails. (event_editor_destroy): Free the exception clist data. Unref the calendar client here. (close_dialog): Just call gtk_object_destroy() on the event editor; the destroy handler will free everything else. * cal-client/cal-client.c (cal_client_object_exists): Removed function; this is not useful because we operate asynchronously. * gui/e-day-view.c (e_day_view_on_delete_appointment): No need to spit a warning if removal fails. * gui/e-week-view.c (e_week_view_on_delete_appointment): Likewise. * gui/calendar-model.c (calendar_model_delete_task): Likewise. svn path=/trunk/; revision=5155
* switched to using new ECalendar widget, and a few other fixes.Damon Chaplin2000-08-311-118/+288
| | | | | | | | | | | | | | 2000-08-30 Damon Chaplin <damon@helixcode.com> * gui/e-day-view.[hc]: * gui/e-day-view-main-item.c: * gui/e-week-view.[hc]: * gui/e-week-view-main-item.c: * gui/calendar-commands.c: * gui/gnome-cal.[hc]: switched to using new ECalendar widget, and a few other fixes. svn path=/trunk/; revision=5121
* Oops, set the dtstart/dtend on the component before adding it.Federico Mena Quintero2000-08-301-15/+21
| | | | | | | | | | | 2000-08-30 Federico Mena Quintero <federico@helixcode.com> * gui/e-day-view.c (e_day_view_key_press): Oops, set the dtstart/dtend on the component before adding it. (e_day_view_on_editing_stopped): No need to check for an UID. Update the summary properly. svn path=/trunk/; revision=5113
* Make sure the is_utc flag is always FALSE for icaltime_from_timetJP Rosevear2000-08-301-34/+39
| | | | | | | | | | | | | | | 2000-08-30 JP Rosevear <jpr@helixcode.com> * gui/e-day-view.c: Make sure the is_utc flag is always FALSE for icaltime_from_timet (e_day_view_on_unrecur_appointment): Use icaltimetype struct from the stack and make sure tzid is always NULL (e_day_view_finish_long_event_resize): ditto (e_day_view_finish_resize): ditto (e_day_view_on_top_canvas_drag_data_received): ditto (e_day_view_on_main_canvas_drag_data_received): ditto svn path=/trunk/; revision=5111
* Now the views monitor the client by themselves; it does not make sense toFederico Mena Quintero2000-08-301-102/+152
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-08-29 Federico Mena Quintero <federico@helixcode.com> Now the views monitor the client by themselves; it does not make sense to proxy all notifications through the GnomeCal. The GnomeCal should just be a meta-widget that holds all the views. At some later point we'll want to decouple the views from the GnomeCal so that they can be embedded anywhere; they should emit signals to request appropriate actions from the toplevel GUI instead of calling the GnomeCal directly. * gui/e-day-view.c (e_day_view_set_cal_client): New function; now the day view monitors the client by itself. (cal_loaded_cb): New callback; moved over from e_day_view_update_all_events(). (obj_updated_cb): New callback; moved over from e_day_view_update_event(). (obj_removed_cb): New callback; moved over from e_day_view_remove_event(). (e_day_view_update_all_events): Removed function. (e_day_view_update_event): Removed function. (e_day_view_remove_event): Removed function. (*): Use the day_view->client directly instead of fetching it from the GnomeCal. (e_day_view_destroy): Unref the client. (e_day_view_reload_events): Check if the client is loaded. (e_day_view_key_press): Set the vtype of the new component. * gui/e-week-view.c (e_week_view_set_cal_client): New function. (cal_loaded_cb): New callback. (obj_updated_cb): New callback. (obj_removed_cb): New callback. (e_week_view_update_all_events): Removed function. (e_week_view_update_event): Removed function. (e_week_view_remove_event): Removed function. (*): Use the week_view->client directly. (e_week_view_destroy): Unref the client. (e_week_view_reload_events): Check if the client is loaded. * gui/gnome-cal.c (setup_widgets): Set the cal_client on all the views. (gnome_calendar_update_all): Do not update the views, since now they do it themselves. (gnome_calendar_object_updated_cb): Likewise. (gnome_calendar_object_removed_cb): Likewise. (setup_widgets): Remove all to-do list cruft. (gnome_calendar_colors_changed): Likewise. (gnome_calendar_todo_properties_changed): Likewise. * gui/calendar-commands.h (todo_style_changed): Removed variable. * gui/gncal-todo.c: Removed old clist cruft; just left in the temporary dialog box for now. svn path=/trunk/; revision=5105
* Properly append to listJP Rosevear2000-08-251-2/+2
| | | | | | | | | | | | | | | 2000-08-24 JP Rosevear <jpr@helixcode.com> * gui/gncal-todo.c (ok_button): Properly append to list * gui/event-editor.c (dialog_to_comp_object): ditto * gui/e-day-view.c (e_day_view_on_new_appointment): The base times are not UTC * gui/e-week-view.c (e_week_view_on_new_appointment): ditto svn path=/trunk/; revision=5031
* Update for libical 0.19JP Rosevear2000-08-251-14/+14
| | | | | | | | 2000-08-24 JP Rosevear <jpr@helixcode.com> * Update for libical 0.19 svn path=/trunk/; revision=5024
* Fixed some warnings.Christopher James Lahey2000-08-251-0/+6
| | | | | | | | | | 2000-08-24 Christopher James Lahey <clahey@helixcode.com> * gui/calendar-commands.c, gui/e-day-view.c, gui/e-week-view.c, gui/event-editor.c, gui/gncal-todo.c, gui/gnome-cal.c, gui/prop.c: Fixed some warnings. svn path=/trunk/; revision=5009
* Make signal names saner (released_event_object_cb): dittoJP Rosevear2000-08-251-7/+1
| | | | | | | | | | | | | | | | | | | | | | | 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
* Do not alloc the struct icaltimetype but point to one on the stack. MoreFederico Mena Quintero2000-08-241-2/+5
| | | | | | | | | | 2000-08-24 Federico Mena Quintero <federico@helixcode.com> * gui/e-day-view.c (e_day_view_on_new_appointment): Do not alloc the struct icaltimetype but point to one on the stack. More importantly, set the date.tzid to NULL. svn path=/trunk/; revision=5003
* Remove status barJP Rosevear2000-08-241-0/+2
| | | | | | | | | | | | | | | 2000-08-23 JP Rosevear <jpr@helixcode.com> * gui/event-editor-dialog.glade: Remove status bar * cal-util/cal-component.c (cal_component_set_rrule_list): Allow a null list (cal_component_set_rdate_list): Allow a null list * gui/e-day-view.c (e_day_view_on_new_appointment): Commit the CalComponent sequence svn path=/trunk/; revision=4995
* #include <e-util/e-cursors.h>Federico Mena Quintero2000-08-241-2/+4
| | | | | | | | | | | | | | | | | | | | | | 2000-08-23 Federico Mena Quintero <federico@helixcode.com> * gui/main.c: #include <e-util/e-cursors.h> * gui/e-day-view-time-item.c (e_day_view_time_item_draw): Initialize time_min_x1 and hour_r to keep gcc happy. * gui/e-day-view.c (e_day_view_update_event_label): Warning fix. (e_day_view_update_main_canvas_drag): Initialize start_row. * gui/e-week-view-event-item.c (e_week_view_event_item_draw): Initialize time_y_small_min, icon_x. * Makefile.am (SUBDIRS): Re-enable the gui directory. * gui/prop.c (prop_store_alarm_default_values): Temporarily #if 0 out. svn path=/trunk/; revision=4993
* Set vtype of new CalComponent (e_week_view_on_new_appointment): dittoJP Rosevear2000-08-241-0/+1
| | | | | | | | | | | | 2000-08-23 JP Rosevear <jpr@helixcode.com> * gui/e-week-view.c (e_week_view_key_press): Set vtype of new CalComponent (e_week_view_on_new_appointment): ditto * gui/e-day-view.c (e_day_view_on_new_appointment): ditto svn path=/trunk/; revision=4990
* Use CalObjTypeJP Rosevear2000-08-221-1/+1
| | | | | | | | | | | 2000-08-21 JP Rosevear <jpr@helixcode.com> * gui/e-week-view.c (e_week_view_reload_events): Use CalObjType * gui/e-day-view.c (e_day_view_reload_events): ditto svn path=/trunk/; revision=4904
* Update prototypesJP Rosevear2000-08-221-5/+7
| | | | | | | | | | | | | | 2000-08-21 JP Rosevear <jpr@helixcode.com> * gui/e-day-view.h: Update prototypes * gui/e-day-view.c (e_day_view_on_unrecur_appointment): Remove commented out portions. * gui/e-week-view.c (e_week_view_on_unrecur_appointment): Tidy. svn path=/trunk/; revision=4901
* Use CalComponent instead of iCalObject. Work around not having a compareJP Rosevear2000-08-221-161/+284
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-08-21 JP Rosevear <jpr@helixcode.com> * gui/e-day-view.c (e_day_view_update_event): Use CalComponent instead of iCalObject. Work around not having a compare dates routine for two CalComponents. (e_day_view_reshape_long_event): Use CalComponent instead of iCalObject, #if some alarm stuff (e_day_view_reshape_day_event): ditto (e_day_view_reload_events): Use revamped CalClient (e_day_view_update_event_cb): Use CalComponent instead of iCalObject (e_day_view_foreach_event_with_uid): ditto (e_day_view_remove_event_cb): ditto (e_day_view_update_event_label): ditto (e_day_view_find_event_from_uid): ditto (e_day_view_on_event_click): ditto (e_day_view_on_event_right_click): ditto (e_day_view_on_new_appointment): ditto (e_day_view_on_edit_appointment): ditto (e_day_view_on_delete_occurrence): ditto (e_day_view_on_delete_appointment): ditto (e_day_view_on_unrecur_appointment): ditto (e_day_view_on_top_canvas_motion): ditto (e_day_view_on_main_canvas_motion): ditto (e_day_view_finish_long_event_resize): ditto (e_day_view_finish_resize): ditto (e_day_view_free_event_array): ditto (e_day_view_add_event): ditto (e_day_view_key_press): ditto (e_day_view_on_editing_stopped): ditto (e_day_view_update_top_canvas_drag): ditto (e_day_view_update_main_canvas_drag): ditto (e_day_view_on_drag_data_get): ditto (e_day_view_on_top_canvas_drag_data_received): ditto (e_day_view_on_main_canvas_drag_data_received): ditto svn path=/trunk/; revision=4900
* Add mouse wheel scrolling support to the calendar day and week viewsAnders Carlsson2000-07-081-1/+47
| | | | svn path=/trunk/; revision=3971
* Sync - FedericoFederico Mena Quintero2000-06-231-12/+29
| | | | svn path=/trunk/; revision=3693
* set event before using it! (e_day_view_init): used new colors from tigert.Damon Chaplin2000-06-211-8/+9
| | | | | | | | | | 2000-06-21 Damon Chaplin <damon@helixcode.com> * gui/e-day-view.c (e_day_view_reshape_long_event): set event before using it! (e_day_view_init): used new colors from tigert. svn path=/trunk/; revision=3671
* Remove the usage of the "x" and "y" arguments.Christopher James Lahey2000-06-211-8/+11
| | | | | | | | | 2000-06-21 Christopher James Lahey <clahey@helixcode.com> * gui/e-day-view.c, gui/e-week-view.c: Remove the usage of the "x" and "y" arguments. svn path=/trunk/; revision=3669
* got rid of some debug messagesDamon Chaplin2000-06-211-18/+0
| | | | svn path=/trunk/; revision=3666
* changed so it keeps the selection range. It just moves it on one day/weekDamon Chaplin2000-06-211-19/+347
| | | | | | | | | | | | | | | | 2000-06-21 Damon Chaplin <damon@helixcode.com> * gui/gnome-cal.c (gnome_calendar_direction): changed so it keeps the selection range. It just moves it on one day/week etc. This makes it very handy for the keyboard shortcut code. * gui/calendar-commands.c (calendar_control_activate): fixed bug setting the radio button active. * gui/e-day-view.[hc]: added support for keyboard navigation and selection of the time range. svn path=/trunk/; revision=3665
* fixed a DnD bug.Damon Chaplin2000-06-191-3/+5
| | | | | | | | | 2000-06-18 Damon Chaplin <damon@helixcode.com> * gui/e-day-view.c (e_day_view_on_top_canvas_drag_data_received): fixed a DnD bug. svn path=/trunk/; revision=3628
* added little buttons which are shown when there are more events than willDamon Chaplin2000-06-171-0/+2
| | | | | | | | | | | | | | | | | | | | * gui/e-week-view.c: added little buttons which are shown when there are more events than will fit in a day. Clicking on the button takes the user to the 1-Day view and shows the full day. * gui/e-day-view.c: * gui/e-week-view.c: set the "use_ellipsis" arg to TRUE for the EText items so we get tooltips automatically. Though we may want to use our own code to show tooltips so we can show the tips when the mouse is around the edges of the event box, and we may want to show the start and end times of the event in full. * gui/calendar-commands.c (calendar_control_activate): * gui/gnome-cal.h: added view_toolbar_buttons[] so we can access the radio buttons in the code easily. We need this if we want to jump to another view programmatically. svn path=/trunk/; revision=3605
* Took out some debugging code.Damon Chaplin2000-06-161-1/+1
| | | | | | Took out some debugging code. svn path=/trunk/; revision=3592
* updated.Damon Chaplin2000-06-161-4/+23
| | | | | | | | | | | 2000-06-16 Damon Chaplin <damon@helixcode.com> * cal-util/test-recur.c: updated. * cal-util/cal-recur.[hc]: mostly finished, though it depends on the iCalObject struct being updated to support more of iCalendar. svn path=/trunk/; revision=3591
* instead of returning a text representation, decode the text and return anSeth Alves2000-06-081-8/+5
| | | | | | | | | | | | | | | | | | | | | | * cal-client/cal-client.c (cal_client_get_object): instead of returning a text representation, decode the text and return an iCalObject. Also added CalClientGetStatus which indicates success or type of failure. * cal-util/calobj.c (ical_object_find_in_string): #ifed out ical_object_find_in_string since it is unused now. * cal-client/client-test.c (list_uids): track get_object change * gui/calendar-commands.c (calendar_iterate): same * gui/e-day-view.c (e_day_view_update_event): same * gui/e-week-view.c (e_week_view_update_event): same * gui/print.c (print_day_details): same (print_day_summary): same (print_todo_details): same * gui/gnome-cal.c (trigger_alarm_cb): same * gui/gncal-todo.c (gncal_todo_update): same svn path=/trunk/; revision=3463
* allow the right button to popup the menu, even when the event is beingDamon Chaplin2000-06-061-0/+12
| | | | | | | | | | | | | | | | | 2000-06-05 Damon Chaplin <damon@helixcode.com> * gui/e-week-view-event-item.c (e_week_view_event_item_button_press): allow the right button to popup the menu, even when the event is being edited. * gui/e-week-view.c: * gui/e-day-view.c: Set the keyboard focus to the EDayView/EWeekView when the right button is clicked, so that any event being edited is saved before any action (e.g. opening the Event Editor dialog) is started. Note that this won't work if we switch to asynchronous notification. svn path=/trunk/; revision=3427
* New function to call the print engine. (calendar_toolbar): Added the PrintFederico Mena Quintero2000-06-031-4/+11
| | | | | | | | | | | | | | | | | | | | | | 2000-06-02 Federico Mena Quintero <federico@helixcode.com> * gui/calendar-commands.c (print): New function to call the print engine. (calendar_toolbar): Added the Print button. (calendar_control_activate): Added the File/Print item. * gui/e-day-view.c (e_day_view_get_selected_time_range): Allow start_time and end_time to be NULL. * gui/e-week-view.c (e_week_view_get_selected_time_range): Likewise. * gui/print.c (range_selector_new): Show the range selector widgets. Use the correct radio group for all of them! (print_calendar): Do the dialog box here. We may want to split this function later into smaller chunks. svn path=/trunk/; revision=3409
* Implemented. (gnome_calendar_add_object): Removed function, since it wasFederico Mena Quintero2000-06-021-18/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Added a hash table to map calendar objects to their respective eventFederico Mena Quintero2000-06-011-37/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-10/+7
| | | | svn path=/trunk/; revision=3280
* new files to implement iCalendar recurrence rules. These are only partDamon Chaplin2000-05-201-90/+176
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-20 Damon Chaplin <damon@helixcode.com> * cal-util/cal-recur.[hc]: new files to implement iCalendar recurrence rules. These are only part finished, but people may like to check that the architecture seems OK. 2000-05-17 Damon Chaplin <damon@helixcode.com> * gui/e-day-view.c (e_day_view_on_delete_occurrence): * gui/e-week-view.c (e_week_view_on_delete_occurrence): use a copy of the iCalObject so we detect the change in the "update_event" callback. Maybe we should just update the view ourselves and then we wouldn't need to detect any change in the callback. * cal-util/calobj.c (ical_object_reset_recurrence): new function to get rid of any recurrence rules. Used when we 'unrecur' an event. * gui/e-day-view.c (e_day_view_key_press): don't add a new event if it won't fit, or we end up adding a new event for each key press. (e_day_view_update_event_label): don't update it if it doesn't have an EText item (i.e. it isn't visible). * gui/e-day-view-time-item.c: allow selection of times using this column. svn path=/trunk/; revision=3144
* Alarm stuff I had not cvs added, sigh - FedericoFederico Mena Quintero2000-05-161-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-14 Federico Mena Quintero <federico@helixcode.com> * gui/gnome-cal.c (display_notification): Use the alarm notification dialog. (display_notification_cb): New callback for the result of the alarm notification dialog. * gui/dialogs/alarm-notify.glade: New file with the alarm notification dialog. * gui/dialogs/alarm-notify-dialog.[ch]: New file. * gui/dialogs/Makefile.am: New file. * gui/Makefile.am (SUBDIRS): Added the dialogs directory. 2000-05-13 Federico Mena Quintero <federico@helixcode.com> * gui/gnome-cal.c (trigger_alarm_cb): Better error checking, and plug leaks of str_ico and ico. * gui/evolution-calendar-control.c (main): Initialize libglade. svn path=/trunk/; revision=3072
* gladeified replacement for eventedit.cSeth Alves2000-05-161-2/+2
| | | | | | | | | | * 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
* call e_day_view_stop_editing_event here to avoid a divide by zero a bitSeth Alves2000-05-091-0/+6
| | | | | | | | * gui/e-day-view.c (e_day_view_on_delete_appointment): call e_day_view_stop_editing_event here to avoid a divide by zero a bit further on. i'm not sure if this is the best fix for this. svn path=/trunk/; revision=2922
* don't set the ico->uid to NULL or we won't find any other occurrences ofDamon Chaplin2000-05-091-4/+5
| | | | | | | | | | | | | | | | | 2000-05-08 Damon Chaplin <damon@helixcode.com> * gui/e-week-view.c (e_week_view_remove_event_cb): * gui/e-day-view.c (e_day_view_remove_event_cb): don't set the ico->uid to NULL or we won't find any other occurrences of the event. Set the editing_event_day/num to -1 instead. * gui/e-week-view-event-item.c (e_week_view_event_item_draw): fixed the positioning of the icons for long events. * cal-util/calobj.c (ical_object_normalize_summary): forgot to terminate the string. svn path=/trunk/; revision=2920
* show the EText item, just in case it hasn't moved, otherwise it won'tDamon Chaplin2000-05-081-0/+10
| | | | | | | | | | | | | | 2000-05-07 Damon Chaplin <damon@helixcode.com> * gui/e-day-view.c (e_day_view_on_main_canvas_drag_data_received): (e_day_view_on_top_canvas_drag_data_received): show the EText item, just in case it hasn't moved, otherwise it won't appear. * gui/e-day-view.h (E_DAY_VIEW_BAR_WIDTH): increased from 6 to 8 to make it easier to drag an event. Also increased E_DAY_VIEW_GAP_WIDTH since it must be >= the BAR_WIDTH. svn path=/trunk/; revision=2878
* finish editing event when user hits Return key.Damon Chaplin2000-05-071-10/+15
| | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-06 Damon Chaplin <damon@helixcode.com> * gui/e-day-view.c: * gui/e-week-view.c: finish editing event when user hits Return key. (e_week_view_on_text_item_event): stop event signals after doing any other calls, since otherwise it will also stop any other resulting event signals. * gui/e-week-view-event-item.c (e_week_view_event_item_draw): don't draw the start/end times while editing. * gui/eventedit.c: changed the Summary field to a GtkEntry, since we now only want a single line of text. * cal-util/calobj.c (ical_object_normalize_summary): new function to convert the summary field to a single line of text, by converting any sequence of CR & LF characters to a single space. (ical_object_create_from_vobject): call the above function. I think all functions that load iCalObjects go through this. (ical_new): called it here as well just in case. svn path=/trunk/; revision=2827
* added guint ref_count to iCalObject struct, and ical_object_ref/unref()Damon Chaplin2000-05-061-45/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-06 Damon Chaplin <damon@helixcode.com> * cal-util/calobj.[hc]: added guint ref_count to iCalObject struct, and ical_object_ref/unref() functions. I've updated all the gui/ stuff to use ref_counts but I haven't touched the pcs/ stuff. Maybe just using ical_object_destroy() is OK there. * gui/gncal-todo.c: * gui/calendar-commands.c: * gui/eventedit.c: * gui/e-week-view.c: * gui/e-day-view.c: use refcounting for iCalObjects. * gui/e-day-view-main-item.c: * gui/e-day-view-top-item.c: * gui/e-day-view.c: try not to ever draw outside the event, even when the event is very small. 2000-05-05 Damon Chaplin <damon@helixcode.com> * gui/e-day-view.c: don't allow recurring events to be resized or dragged, and don't show the resize/drag cursors. Actually it may be better to let the user do the resize/drag and then ask them what they want to do - change the single occurrence or the entire series. * gui/e-day-view-time-item.c (e_day_view_time_item_show_popup_menu): use e_auto_kill_popup_menu_on_hide() to destroy the popup menu. * gui/popup-menu.c: include e-gui-utils.h svn path=/trunk/; revision=2823
* for the long events pass E_DAY_VIEW_LONG_EVENT as the day. Fixes SEGV.Damon Chaplin2000-05-051-5/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-04 Damon Chaplin <damon@helixcode.com> * gui/e-day-view.c (e_day_view_foreach_event_with_uid): for the long events pass E_DAY_VIEW_LONG_EVENT as the day. Fixes SEGV. * gui/calendar-commands.c: when we switch views, grab the focus. * gui/gnome-cal.c (gnome_calendar_tag_calendar): (gnome_calendar_mark_gtk_calendar_day): changed this so it uses cal_client_get_events_in_range(), and doesn't load any objects. Also just return if it isn't visible. * gui/calendar-commands.c (calendar_get_events_in_range): call g_list_sort() to sort the list rather than g_list_insert_sorted() for each element. It is much more efficient. Also changed it so that the co->ev_start/end fields are copied from the CalObjInstance rather than the parameters to the function (that is right, isn't it?) Also freed the list elements, and finally the list. (calendar_iterate): changed this to use cal_client_get_events_in_range since that is more efficient than getting all the uids and then loading and parsing all the events. * pcs/cal-backend.c (save): output the '... saved' message before freeing the string! * gui/gncal-todo.c (gncal_todo_update): * gui/e-week-view.c (e_week_view_update_event): * gui/e-day-view.c (e_day_view_update_event): * gui/calendar-commands.c (calendar_get_events_in_range): (calendar_iterate): free obj_string after it is parsed. svn path=/trunk/; revision=2802
* set the active radio button here. Oops - it wasn't a Bonobo problem afterDamon Chaplin2000-05-031-16/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-02 Damon Chaplin <damon@helixcode.com> * gui/calendar-commands.c (calendar_control_activate): set the active radio button here. Oops - it wasn't a Bonobo problem after all. * gui/popup-menu.c (popup_menu): added call to e_auto_kill_popup_menu_on_hide() to destroy the menu. * gui/e-week-view.c (e_week_view_show_popup_menu): * gui/e-day-view.c (e_day_view_on_event_right_click): ico->user_data isn't useful any more, since the event editor keeps its own iCalObject. So for now we make the menu commands available even when the event is being edited in the event editor. Also corrected misspellings of 'occurance' -> 'occurrence'. * gui/eventedit.c (event_editor_destroy): destroy the iCalObject. The event editor now uses its own independent iCalObject. * gui/e-week-view.c (e_week_view_on_unrecur_appointment): * gui/e-day-view.c (e_day_view_on_unrecur_appointment): create a new uid for the new single instance. I'm not sure what we should do about the creation/last modification times of the objects. * gui/e-week-view.c (e_week_view_on_edit_appointment): * gui/e-day-view.c (e_day_view_on_edit_appointment): duplicate the iCalObject before passing it to the event editor, since it will change the fields. If we don't duplicate it we won't know what has changed when we get the "update_event" callback. * gui/e-week-view.c (e_week_view_key_press): * gui/e-day-view.c (e_day_view_key_press): set the created and last_mod times of the new iCalObject. We may want to set the default alarm as well. * cal-util/calobj.c (ical_gen_uid): made this function public so we can generate new uids if necessary. svn path=/trunk/; revision=2759
* new function to get the currently seleted time range form the currentDamon Chaplin2000-05-011-42/+84
| | | | | | | | | | | | | | | | | | | 2000-05-01 Damon Chaplin <damon@helixcode.com> * gui/gnome-cal.[hc] (gnome_calendar_get_current_time_range): new function to get the currently seleted time range form the current view. * gui/calendar-commands.c (display_objedit): use the above function to get the time for the new appointment. * gui/e-week-view.c: * gui/e-day-view.c: use a shallow copy of the ico when we update the times (when resizing/dragging). Otherwise we won't detect that the time has changed in the "update_event" callback. Also added functions to get the currently selected time range. svn path=/trunk/; revision=2712
* new function to see if the event dates have changed (including anyDamon Chaplin2000-05-011-50/+252
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-01 Damon Chaplin <damon@helixcode.com> * cal-util/calobj.c (ical_object_compare_dates): new function to see if the event dates have changed (including any recurrence rules). It is used for optimization when we get the "object_changed" signal. We have to do far less work if the dates are unchanged. * gui/e-week-view.c: * gui/e-day-view.c: only draw the selection when we have the keyboard focus, since the user expects to be able to type in a new event when the selection is shown. Also keep the selection when we lose focus, but just don't show it. Also quite a few changes to cope with the new client/server architecture. * gui/e-day-view-top-item.c (e_day_view_top_item_draw): * gui/e-day-view-main-item.c (e_day_view_main_item_draw): * gui/e-week-view-main-item.c (e_week_view_main_item_draw_day): only draw the selection if the widget has the keyboard focus. * gui/gnome-cal.c (mark_gtk_calendar_day): fixed so it works with events longer than one day. And changed the code for updating events in the new views. svn path=/trunk/; revision=2701
* compare iCalObjects by their UIDs instead of by their pointers.Seth Alves2000-04-261-1/+4
| | | | | | | * gui/e-day-view.c (e_day_view_find_event_from_ico): compare iCalObjects by their UIDs instead of by their pointers. svn path=/trunk/; revision=2617
* allow for null icoSeth Alves2000-04-261-1/+1
| | | | | | | | * gui/e-day-view.c (e_day_view_update_event): allow for null ico * gui/e-week-view.c (e_week_view_update_event): allow for null ico svn path=/trunk/; revision=2605
* added new source files and pixmaps, and removed old source files, whichDamon Chaplin2000-04-241-167/+330
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-04-24 Damon Chaplin <damon@helixcode.com> * gui/Makefile.am: added new source files and pixmaps, and removed old source files, which can be deleted. * gui/e-week-view-titles-item.[hc]: * gui/e-week-view-main-item.[hc]: * gui/e-week-view-event-item.[hc]: * gui/e-week-view.[hc]: new files implementing the week/month views. * gui/yearview.xpm: * gui/monthview.xpm: * gui/weekview.xpm: * gui/workweekview.xpm: * gui/dayview.xpm: new pixmaps for the toolbar buttons. These aren't intended to be the final pixmaps. * gui/calendar-commands.c: added radio buttons to the toolbar to switch between the calendar views, and moved the am_pm_flag here so we can get rid of view-utils.c. * gui/gnome-cal.[hc]: made it a subclass of GtkVBox, rearranged the widgets into 2 notebooks, and added the selection_start_time and selection_end_time fields. * gui/goto.c: updated to use new selection time range. * gui/quick-view.c: added '#include <gtk/gtkwindow.h>' so it compiles. * gui/e-day-view.[hc]: changed the interface to support the new selection time range, got rid of a few debugging messages and changed a few bits. svn path=/trunk/; revision=2583
* build test-calendar-widget and evolution-calendar, common stuff is in aSeth Alves2000-04-061-2/+2
| | | | | | | | | | | | | | | * gui/Makefile.am: build test-calendar-widget and evolution-calendar, common stuff is in a library * gui/gnome-cal.c (gnome_calendar_get_type): made the calendar widget based on a gtk_frame rather than a gnome_app * gui/calendar-commands.c: split out some of main.c * gui/evolution-calendar-control.c: bonobo bung so evolution can use the calendar widget svn path=/trunk/; revision=2294
* Fix includes. (e_day_view_on_delete_occurance): Do not callFederico Mena Quintero2000-03-231-13/+4
| | | | | | | | | | | | | | | | | 2000-03-17 Federico Mena Quintero <federico@helixcode.com> * gui/e-day-view.c: Fix includes. (e_day_view_on_delete_occurance): Do not call save_default_calendar(). (e_day_view_on_delete_appointment): Likewise. (e_day_view_on_unrecur_appointment): Likewise. (e_day_view_finish_long_event_resize): Likewise. (e_day_view_finish_resize): Likewise. (e_day_view_key_press): Likewise. (e_day_view_on_editing_stopped): Likewise. (e_day_view_on_top_canvas_drag_data_received): Likewise. (e_day_view_on_main_canvas_drag_data_received): Likewise. svn path=/trunk/; revision=2140
* New widget for Day/Work-Week views. Unfinished.Damon Chaplin2000-03-141-0/+4585
svn path=/trunk/; revision=2115