aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/gnome-cal.c
Commit message (Collapse)AuthorAgeFilesLines
* Sync again - FedericoFederico Mena Quintero2000-06-271-1/+2
| | | | svn path=/trunk/; revision=3742
* Sync - FedericoFederico Mena Quintero2000-06-231-29/+2
| | | | svn path=/trunk/; revision=3693
* changed so it keeps the selection range. It just moves it on one day/weekDamon Chaplin2000-06-211-15/+25
| | | | | | | | | | | | | | | | 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
* instead of returning a text representation, decode the text and return anSeth Alves2000-06-081-17/+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
* Implemented. (gnome_calendar_add_object): Removed function, since it wasFederico Mena Quintero2000-06-021-15/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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/+10
| | | | | | | | | | | | | | | 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-13/+3
| | | | | | | | | | | | | | | | | | | | | | | | 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-11/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1/+1
| | | | svn path=/trunk/; revision=3280
* Added widgets/e-paned/Makefile.Christopher James Lahey2000-05-251-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-24 Christopher James Lahey <clahey@helixcode.com> * configure.in: Added widgets/e-paned/Makefile. * tests/ui-tests/message-browser.c: Switched from GtkPaned to EPaned. * widgets/Makefile.am: Added e-paned directory. * widgets/e-paned/, widgets/e-paned/.cvsignore, widgets/e-paned/Makefile.am, widgets/e-paned/e-hpaned.c, widgets/e-paned/e-hpaned.h, widgets/e-paned/e-paned.c, widgets/e-paned/e-paned.h, widgets/e-paned/e-vpaned.c, widgets/e-paned/e-vpaned.h: New widget based completely on GtkPaned from 1.4. This will be more advanced soon. From calendar/ChangeLog: 2000-05-24 Christopher James Lahey <clahey@helixcode.com> * gui/Makefile.am: Added libepaned.a. * gui/gnome-cal.c: Switched from GtkPaned to EPaned. From mail/ChangeLog: 2000-05-24 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added libepaned.a. * folder-browser.c: Switched from GtkPaned to EPaned. From shell/ChangeLog: 2000-05-24 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added libepaned.a. * e-shell-view.c: Switched from GtkPaned to EPaned. From widgets/shortcut-bar/ChangeLog: 2000-05-24 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added libepaned.a. * test-shortcut-bar.c: Switched from GtkPaned to EPaned. svn path=/trunk/; revision=3191
* Commit for if my laptop dies - FedericoFederico Mena Quintero2000-05-241-48/+0
| | | | svn path=/trunk/; revision=3185
* Forgot include file - FedericoFederico Mena Quintero2000-05-161-0/+1
| | | | svn path=/trunk/; revision=3075
* Alarm stuff I had not cvs added, sigh - FedericoFederico Mena Quintero2000-05-161-2/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Added version and availability of required libunicode library.Matt Loper2000-05-131-57/+38
| | | | | | | | | | | | | | | | | | | | 2000-05-10 Matt Loper <matt@helixcode.com> * README: Added version and availability of required libunicode library. 2000-05-10 Dan Winship <danw@helixcode.com> * configure.in: Update versions needed for gnome-print, bonobo, and gtkhtml. 2000-05-10 Christopher James Lahey <clahey@helixcode.com> * HACKING: We need a HACKING file. 2000-05-10 Christopher James Lahey <clahey@helixcode.com> svn path=/trunk/; revision=3008
* New function to add today's alarms for a single object.Federico Mena Quintero2000-05-121-8/+33
| | | | | | | | | | | | | | | | | | | | | | | | 2000-05-11 Federico Mena Quintero <federico@helixcode.com> * gui/gnome-cal.c (add_alarms_for_object): New function to add today's alarms for a single object. (gnome_calendar_object_updated_cb): Update the object's alarms. * idl/evolution-calendar.idl (Cal): Added a get_alarms_for_object() method. * pcs/cal.c (Cal_get_alarms_for_object): Implemented method. * pcs/cal-backend.c (cal_backend_get_alarms_for_object): New function. * pcs/cal-backend-imc.c (cal_backend_imc_get_alarms_for_object): Implemented. * cal-client/cal-client.c (cal_client_get_alarms_for_object): New function. svn path=/trunk/; revision=3003
* Removed unused arguments. Load the initial alarms here. (load_alarms): NewFederico Mena Quintero2000-05-121-103/+367
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-11 Federico Mena Quintero <federico@helixcode.com> * gui/gnome-cal.c (gnome_calendar_update_all): Removed unused arguments. Load the initial alarms here. (load_alarms): New function to load a day's worth of alarms. (gnome_calendar_class_init): Eeeek! This was taking in an incorrect argument type. (gnome_calendar_init): Now the calendar keeps a hash table of UIDs->queued alarms. Create the hash table here. (gnome_calendar_destroy): Destroy the alarms hash table. (gnome_calendar_object_updated_cb): Remove the alarms for the object and regenerate them. (gnome_calendar_object_removed_cb): Remove the alarms for the object. * gui/alarm.c (alarm_add): Do not take in a CalendarAlarm, just the trigger time, the callback and the closure data. Return an opaque identifier for the alarm so that it can be removed by the client code if needed. Use the queue_alarm() helper function. (queue_alarm): Helper function to actually queue the alarm and set up the itimer. Deal with a nonzero return value from setitimer(). (alarm_remove): New function to remove an alarm based on its ID. (pop_alarm): New helper function; pops the first alarm of the queue and resets the timer as appropriate. (alarm_ready): Simplified a lot by using pop_alarm(). * idl/evolution-calendar.idl (Cal): Added get_alarms_in_range(). * pcs/cal.c (build_instance_seq): New function to build a CORBA sequence from the internal list of instances. (Cal_get_events_in_range): Use build_instance_seq(). (Cal_get_alarms_in_range): Implemented new method. * pcs/cal-backend.c (cal_backend_get_alarms_in_range): New function with the get_alarms_in_range() engine. * pcs/cal-backend-imc.c (cal_backend_imc_get_alarms_in_range): Implemented the get_alarms_in_range() method. * cal-client/cal-client.c (cal_client_get_alarms_in_range): New client-side function for getting the alarms. (build_instance_list): New helper function to build the CalObjInstance list from the CORBA sequence. (cal_client_get_events_in_range): Use build_instance_list(). * gui/calendar-commands.h: #include <cal-util/calobj.h>. #include "gnome-cal.h". * gui/e-week-view.c: #include "calendar-commands.h" instead of main.h; the latter is an obsolete file and will be killed. * gui/evolution-calendar-control.c (main): Call init_bonobo() before anything else. We need the GTK+ object system initialized. * gui/Makefile.am (evolution_calendar_SOURCES): Do not use main.h. * cal-util/cal-util.c (cal_alarm_instance_list_free): New function. svn path=/trunk/; revision=2987
* CalBackendClass now is just an interface for calendar backends; this is anFederico Mena Quintero2000-05-091-11/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-08 Federico Mena Quintero <federico@helixcode.com> * pcs/cal-backend.h (CalBackendClass): CalBackendClass now is just an interface for calendar backends; this is an abstract class. Put in the vtable for the backend methods. * pcs/cal-backend.c (cal_backend_new): Removed function, since CalBackend is not just an abstract class. Removed implementation-specific functions and made public functions call the virtual methods instead. * pcs/cal-backend-imc.[ch]: New files with the CalBackendIMC implementation; this implements a backend for iCalendar and vCalendar files. Moved the implementation-specific stuff from cal-backend.[ch] to here. * pcs/cal-backend-imc.c (CalendarFormat): Moved enumeration to here. Added a CAL_UNKNOWN value for when the backend is not loaded yet. (cal_backend_imc_init): Initialize priv->format as CAL_UNKNOWN. (save_to_vcal): Use the same VCProdIdProp value as in cal-util/calobj.c. Use "1.0" as the VCVersionProp as per the vCalendar spec. (ensure_uid): Return nothing, since the result value need not be used anymore. (add_object): Since we mark the calendar as dirty anyways, we do not need to check the result value of ensure_uid() anymore. (remove_object): Asssert that we know how to handle the object's type. We do this in add_object() anyways. * pcs/Makefile.am (libpcs_a_SOURCES): Added cal-backend-imc.[ch]. * gui/gnome-cal.c: Replaced debugging printf()s with g_message() so that we can see the line number where they occur. * gui/gnome-cal.c (gnome_calendar_load_cb): Sort of handle the LOAD_METHOD_NOT_SUPPORTED result code, and added a default for the switch. * cal-client/cal-listener.h (CalListenerLoadStatus): Removed enumeration; it is stupid to translate all values for the CalClient when it is going to translate them again. (CalListenerClass::cal_loaded): This signal now passes the LoadStatus directly from the CORBA side. * cal-client/cal-listener.c (Listener_cal_loaded): Do not translate the status value. * cal-client/cal-client.h (CalClientLoadStatus): Added the CAL_CLIENT_LOAD_METHOD_NOT_SUPPORTED error code. * cal-client/cal-client.c (cal_loaded_cb): Translate the CORBA version of the LoadStatus result code. * pcs/cal-factory.c (CalFactoryPrivate): New methods field for the hash table from method strings to the GtkTypes for backend class types. (cal_factory_init): Create the priv->methods hash table. (cal_factory_destroy): Free the priv->methods hash table. (cal_factory_register_method): New function to register a backend class for a particular URI method. (launch_backend_for_uri): New function to launch a backend for a particular URI's method. (load_backend): Use launch_backend_for_uri(). Move the error notification code from load_fn() to here. (create_backend): Use launch_backend_for_uri(). Move the error notification code form create_fn() to here; it is #ifdefed out since currently cal_backend_create() does not have any error reporting capabilities. * idl/evolution-calendar.idl (Listener::LoadStatus): Added a PROTOCOL_NOT_SUPPORTED error code. * pcs/cal-factory.c (cal_factory_load cal_factory_create): Removed functions, since they were supposed to be internal only. (CalFactory_load): Call queue_load_create_job() directly. (CalFactory_create): Likewise. svn path=/trunk/; revision=2921
* for the long events pass E_DAY_VIEW_LONG_EVENT as the day. Fixes SEGV.Damon Chaplin2000-05-051-31/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* new function to get the currently seleted time range form the currentDamon Chaplin2000-05-011-0/+33
| | | | | | | | | | | | | | | | | | | 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-23/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* hook for widget destroy -- used to unref the CalClient so wombat knows weSeth Alves2000-04-261-1/+33
| | | | | | | | * gui/gnome-cal.c (gnome_calendar_destroy): hook for widget destroy -- used to unref the CalClient so wombat knows we are gone. (gnome_calendar_class_init): added a class init for this widget. svn path=/trunk/; revision=2613
* added new source files and pixmaps, and removed old source files, whichDamon Chaplin2000-04-241-85/+312
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* new function: callback for listener's object updated signal.Seth Alves2000-04-211-10/+18
| | | | | | | | | | | | | | | | * gui/gnome-cal.c (gnome_calendar_changed_cb): new function: callback for listener's object updated signal. (gnome_calendar_object_removed_cb): new function: callback for listener's object removed signal. (gnome_calendar_new): hook up listener's "obj_updated" and "obj_removed" signals so if evolution is running twice, they will both see changes right away. (gnome_calendar_object_changed): don't call update_all, since it will be called by the listener. (gnome_calendar_remove_object): don't call update_all (gnome_calendar_add_object): don't call update_all svn path=/trunk/; revision=2539
* callback for obj_updated or obj_removed. (gnome_calendar_new): hook upSeth Alves2000-04-211-13/+27
| | | | | | | | | * gui/gnome-cal.c (gnome_calendar_changed_cb): callback for obj_updated or obj_removed. (gnome_calendar_new): hook up gnome_calendar_changed_cb so if evolution is running twice, they will both see changes right away. svn path=/trunk/; revision=2538
* calls gnome_calendar_open instead of checking on disk and calling load orSeth Alves2000-04-201-40/+62
| | | | | | | | | | | | * gui/calendar-commands.c (calendar_set_uri): calls gnome_calendar_open instead of checking on disk and calling load or create. * gui/gnome-cal.c (gnome_calendar_open): collapsed gnome_calendar_load and gnome_calendar_create into this function. added new type GnomeCalendarOpenMode which has the value CALENDAR_OPEN or CALENDAR_OPEN_OR_CREATE. svn path=/trunk/; revision=2506
* fixed to use cal_client_update_object -- editing and dragging events worksSeth Alves2000-04-191-6/+5
| | | | | | | * gui/gnome-cal.c (gnome_calendar_object_changed): fixed to use cal_client_update_object -- editing and dragging events works again svn path=/trunk/; revision=2504
* catch cal_loaded signal on the cal client. (gnome_calendar_load_cb):Seth Alves2000-04-101-7/+18
| | | | | | | | | | | | | | | | | | | * gui/gnome-cal.c (gnome_calendar_load): catch cal_loaded signal on the cal client. (gnome_calendar_load_cb): callback for cal_loaded signal. moved gnome_calendar_update_all from gnome_calendar_load to here. * gui/calendar-commands.c: minor cleanups * pcs/cal-backend.c (save_to_vcal): copied code from gnome-pim to write vcal to a file (save): filled it with more gnome-pim code (add_object): call save () after changing (remove_object): same (cal_backend_create): same (cal_backend_remove_object): same svn path=/trunk/; revision=2352
* new function: friendly wrapper for cal_client_create_calendarSeth Alves2000-04-091-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | * gui/gnome-cal.c (gnome_calendar_create): new function: friendly wrapper for cal_client_create_calendar * gui/calendar-commands.c (new_calendar): call gnome_calendar_create if no filename is provided * gui/prop.c (properties): calendar is a frame * gui/calendar-commands.c (calendar_control_activate): sort out the menus a bit, more of them show up now. * gui/Makefile.am: don't build library or test, just the bonobo control * gui/gncal-todo.c (simple_todo_editor): calendar is a frame instead of a window, now. * gui/gnome-cal.c (gnome_calendar_new): same * gui/goto.c (goto_dialog): same svn path=/trunk/; revision=2339
* calendar is a frame instead of a window, now.Seth Alves2000-04-081-1/+4
| | | | | | | | | | | * gui/gncal-todo.c (simple_todo_editor): calendar is a frame instead of a window, now. * gui/gnome-cal.c (gnome_calendar_new): same * gui/goto.c (goto_dialog): same svn path=/trunk/; revision=2337
* build test-calendar-widget and evolution-calendar, common stuff is in aSeth Alves2000-04-061-6/+18
| | | | | | | | | | | | | | | * 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
* Removed function now that it is no CORBA server in the GUI.Federico Mena Quintero2000-03-121-12/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-03-12 Federico Mena Quintero <federico@helixcode.com> * gui/main.c (gnome_calendar_locate): Removed function now that it is no CORBA server in the GUI. (save_default_calendar): Removed function. Now the personal calendar server will take care of saving modified calendars when appropriate. (close_cmd): Do not call unregister_calendar_services(). * gui/eventedit.c (ee_ok): Do not save the calendar. * gui/gncal-day-panel.c (day_view_range_activated): Likewise. * gui/gncal-todo.c (ok_button): Likewise. (delete_todo): Likewise. * gui/gncal-full-day.c (delete_occurance): Likewise. (delete_appointment): Likewise. (unrecur_appointment): Likewise. (child_focus_out): Likewise. (update_from_drag_info): Likewise. * gui/gnome-cal.c (gnome_calendar_new): Removed obsolete call to create the CORBA server. * gui/gnome-cal.h (GnomeCalendar): Renamed `calc' field to `client'. * cal-client/cal-client.h (CalClient): Removed filename and corba_server fields. svn path=/trunk/; revision=2102
* replaced "Calendar *cal" with "CalClient *calc" in the GnomeCalendarSeth Alves2000-03-091-12/+21
| | | | | | | | | | | | | | | * gui/gnome-cal.h: replaced "Calendar *cal" with "CalClient *calc" in the GnomeCalendar struct. * gui/*.c: tracked change from Calendar * to CalClient * gui/main.c: moved alarm_defaults from here to cal-util/calobj.c (calendar_get_events_in_range): pulled this out of calendar.c and fixed it up to use cal-client stuff. i'm not sure where to put it yet. * gui/main.c (calendar_iterate): pulled this one out of calendar.c also svn path=/trunk/; revision=2090
* stubs for client side access to alarm structures. this will probablySeth Alves2000-03-061-1/+1
| | | | | | | | | | | | | | | | | * cal-client/cal-client-alarm.c: stubs for client side access to alarm structures. this will probably change, since i don't know what i'm doing. * cal-util/alarm-enums.h: enums for alarms needed by both the client and the server * remaining source files in calendar/... have been moved to calendar/gui. * gui/alarm.c: start to decouple the view from the model in the alarm editing code svn path=/trunk/; revision=2062
* new file -- things shared between the client and server go in thisSeth Alves2000-03-041-1/+1
| | | | | | | | | | | | * cal-util/Makefile.am: new file -- things shared between the client and server go in this directory * calobj.c calobj.h icalendar.c icalendar.h timeutil.c timeutil.h cal-util.c cal-util.h where moved backend stuff went into pcs. shared stuff went into cal-util. svn path=/trunk/; revision=2032
* Change iCalObject.organizer from char* to iCalPerson*Russell Steinthal2000-02-161-1/+3
| | | | | | | | | | | | | | | 2000-02-16 Russell Steinthal <rms39@columbia.edu> * calobj.[ch], eventedit.c, main.c: Change iCalObject.organizer from char* to iCalPerson* * calobj.[ch]: Change iCalObject.related from list of char* to list of iCalRelation*; assorted related fixes * icalendar.c: interface between libical and the gnomecal internal representation svn path=/trunk/; revision=1791
* Added get_uids() method to get a list of UIDs based on object types.Federico Mena Quintero2000-02-091-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-02-08 Federico Mena Quintero <federico@helixcode.com> * evolution-calendar.idl (Cal): Added get_uids() method to get a list of UIDs based on object types. * cal-backend.c (cal_backend_get_uids): Implemented get_uids() in the backend. * cal.c (Cal_get_uids): Implemented get_uids() method. * cal-client.c (cal_client_get_uids): Implemented client-side function. * cal-util.c (cal_obj_instance_list_free): Doh. Free the list, not the last link. (cal_obj_uid_list_free): New function to free a list of UIDs. * GnomeCal.idl (Repository): Removed unused method get_object_by_id_list(). This is just for cleanup purposes and to remind me exactly of what needs to be moved over to evolution-calendar.idl. (Repository): Removed unused get_objects() method. * corba-cal.c (init_calendar_repo_class): Removed the unused get_objects method. * calobj.h (CalObjFindStatus): New status value enumeration for the find function. * calobj.c (ical_object_find_in_string): New function to parse a complete calendar and find a calendar object in it. This should be used instead ical_object_new_from_string() in the future. * evolution-calendar.idl (CalObjInstance): Added an uid field. Now the idea is that whenever calendar object strings are passed around, their UIDs are passed along with them so that the actual object can be pulled from the whole VCAL object using its UID to identify it. * cal-util.h (CalObjInstance): Added uid field. * cal-util.c (cal_obj_instance_list_free): Free the UIDs. * cal-backend.c (build_event_list): Store the object's UID in the instance structure. * cal.c (Cal_get_events_in_range): Copy the UID field to the CORBA structure. * cal-client.c (cal_client_get_events_in_range): Copy the UID field from the CORBA structure. * main.c (gnome_cal_file_menu): Removed unfinished html-month stuff. * Makefile.am (gnomecal_SOURCES): Removed html-month.c. * gnome-cal.c: #include "alarm.h" (mail_notify): Made static. * alarm.h: #include "calobj.h" * corba-cal-factory.h (init_corba_server): Fixed prototype. * quick-view.c (create_items_for_event): Made static. * gncal-todo.c (column_resized): Made static. * layout.c (find_index): Made static. svn path=/trunk/; revision=1699
* Committed fixes for the end-on-day recurrence bug where the lastEskil Heyn Olsen1999-12-311-1/+1
| | | | | | | | | | day was skipped. Also fixed problem with multiple setitimer calls that where especially pesky in the corba part, where corba calls would cause numerous alarm dialogs when the events alarm went off. svn path=/trunk/; revision=1525
* The long-awaited and much-needed (IMNSHO) snooze button for gnomecal alarms.Russell Steinthal1999-12-031-8/+37
| | | | | | Not strictly [vi]Calendar compliant, but much more intuitive. svn path=/trunk/; revision=1456
* The long-awaited audio alarm timeout patch. Implements wishlist bug #3089.Russell Steinthal1999-11-131-7/+33
| | | | | | | | | Note: Per discussion on calendar-list, checks to see that timeout value is reasonable, i.e. between 1 and MAX_AALARM_TIMEOUT (set to 3600 seconds). Check is enforced by GtkSpinButton in property box and the patch when loading from disk. svn path=/trunk/; revision=1384
* Add default alarm support, Beep on display alarms optionRussell Steinthal1999-11-031-0/+2
| | | | | | | | | Since there are now some calls from prop.c into previously static functions in eventedit.c, the code in those files should probably be reorganized. Perhaps a new alarm-utils.c file? In any case, this commits working code to the repository before we reorganize. svn path=/trunk/; revision=1366
* Fix bug #2561 in HEADRussell Steinthal1999-10-201-1/+1
| | | | svn path=/trunk/; revision=1335
* Small fix -miguelArturo Espinosa1999-09-281-0/+1
| | | | svn path=/trunk/; revision=1265
* Add scrolling to the yearview.Jonathan Blandford1999-07-301-25/+27
| | | | | | | | 1999-07-29 Jonathan Blandford <jrb@redhat.com> * gnome-cal.c (setup_widgets): Add scrolling to the yearview. svn path=/trunk/; revision=1045
* New file. Implements PalmPilot syncronization with the Gnome Calendar.Miguel de Icaza1999-07-281-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1999-07-28 Miguel de Icaza <miguel@gnu.org> * calendar-pilot-sync.c: New file. Implements PalmPilot syncronization with the Gnome Calendar. 1999-07-27 Miguel de Icaza <miguel@gnu.org> * calobj.c (ical_object_new_from_string): New function. Creates an iCalObject from a vCalendar string that is supposed to contain only one vEvent. * calendar.c: (calendar_save): Split this routine in two. * gnome-cal.c (gnome_calendar_new): Create the corba server here. * main.c: Include gnorba.h, and corba-cal-factory.h here (close_cmd): Kill the calendar server on shutdown. * calobj.c (load_recur_yearly_day): Added a fixme comment. WE need to handle intervals in the years. * calendar.c (calendar_object_find_in_list, calendar_object_find, calendar_object_find_todo, calendar_object_find_event): New functions for looking up information. * main.c (gnome_calendar_locate): New function. * corba-cal.c (calendar_create_object): New file. Implements the corba server. * calendar.c (calendar_object_changed): Flag pilot-status as changed. * calobj.c (ical_object_to_vobject): Save pilot information for syncing. (ical_object_create_from_vobject): Load syncing information for pilot. Do it in a way compatible with KOrganizer. 1999-07-26 Miguel de Icaza <miguel@gnu.org> * calobj.c (ical_object_create_from_vobject): Generate unique IDs on Vevents we load that lack it. WE need this for the old gnome calendar generated files (ie, before now :-). svn path=/trunk/; revision=1038
* Fix abort() problem with the year view. (Bug #1367). Thanks to Owen CliffeRobert Brady1999-06-061-8/+7
| | | | | | | | | | 1999-06-04 Robert Brady <rwb197@ecs.soton.ac.uk> * gnome-cal.h, gnome-cal.c: Fix abort() problem with the year view. (Bug #1367). Thanks to Owen Cliffe <oc197@ecs.soton.ac.uk> for helping track it down. svn path=/trunk/; revision=971
* Add some assertions here, to pin point the bug reported on gnome-list.Miguel de Icaza1999-05-261-2/+44
| | | | | | | | | 1999-05-25 Miguel de Icaza <miguel@nuclecu.unam.mx> * gnome-cal.c (gnome_calendar_set_view): Add some assertions here, to pin point the bug reported on gnome-list. svn path=/trunk/; revision=943
* Set the canvas scroll region here, not in size_allocate(). Also, use theFederico Mena Quintero1999-05-261-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | 1999-05-25 Federico Mena Quintero <federico@nuclecu.unam.mx> * year-view.c (idle_handler): Set the canvas scroll region here, not in size_allocate(). Also, use the correct width and height based on the allocation and the precomputed minimum width/height values. * gnome-cal.c (setup_widgets): Set the scrollbar policy of the scrolled window. * main.c (setup_appbar): Use the correct type for the appbar. * gncal-day-view.c: Removed unused function switch_to_day(). * gncal-day-panel.c (calendar_day_selected): Removed unused variable. 1999-05-25 Federico Mena Quintero <federico@nuclecu.unam.mx> * configure.in: Added the gncal/doc/* Makefiles to AC_OUTPUT. svn path=/trunk/; revision=939
* This is the fix Miguel and I hacked in the car at Expo to make theNat Friedman1999-05-261-1/+5
| | | | | | | | | | | | | | | | | | | | | year view work in low-resolution displays. This isn't the proper fix, but it's better than the way things were. 1999-05-25 Nat Friedman <nat@nat.org> * doc/C/gnomecal.sgml: Fixed a typo. * gnome-cal.c (setup_widgets): Added a scrolled window widget into which the year view is placed. * year-view.c (CALENDAR_HEIGHT): The height of the total year view inside the scrolled window. (idle_handler): Set the height of the year view to CALENDAR_HEIGHT. (year_view_size_allocate): Set the scroll region of the year view canvas to allocation->width, CALENDAR_HEIGHT. svn path=/trunk/; revision=938
* Added this routine so Monthly recurrences use the weekday field as aSteve Murphy1999-04-041-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1999-04-01 Steve Murphy <murf@e-tools.com> * calobj.c (weekdaynum): Added this routine so Monthly recurrences use the weekday field as a simple integer for a single weekday. * calobj.c (load_recur_monthly_pos): Call weekdaynum instead of weekdaylist. The interface only lets the user input a single value anyway. * calobj.c (ical_object_to_vobject): instead of code to output day names from a bit array, use instead the value as an int and output a single dayname. * calobj.c (ical_object_generate_events): first_week_day gets the day int instead of the first entry in the bit field. I inserted a fair chunk of code to avoid calling generate if the day is out of range for a month. It may be unneccessary, because mktime will turn the extra days into a valid date the next month. But not all mktimes are equal, I fear. * eventedit.c (ee_store_recur_rule_to_ical): For case 3, (Monthly), I added code to set the interval slot of the recur struct; without this value, selecting a monthly recursing, by date, would lead to an infinite loop broken only by a failure to alloc more memory. Also, in the "by position" case, both u.month_pos and u.month_day were being assigned values. This is a mistake, as they are both part of an union, and the same thing. The weekday field should get the recur_rr_month_weekday value. * eventedit.c (ee_rp_init_rule): set default day from the weekday field instead of the u.month_day field, which is really the month_pos value. * gnome-cal.c (gnome_calendar_tag_calendar): Month days start with 1, not 0; thus, setting tm.tm_mday = 0, and then calling mktime will generate a time corresponding to the end of the previous month, which may have a mday anywhere from 28 to 31. The end time just adds 1 to the month, so your end time may not cover the last few days of this month, depending on what the biggest mday of last month was. I changed it so tm_mday is set to 1 instead. 1999-03-30 Federico Mena Quintero <federico@nuclecu.unam.mx> svn path=/trunk/; revision=792
* Add support for Due Date when adding a TODO item here. (column_resized):Clifford R. Conover1999-03-111-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | 1999-03-10 Clifford R. Conover <rconover@montana.edu> * gncal-todo.c (simple_todo_editor): Add support for Due Date when adding a TODO item here. (column_resized): New function (init_column_sorting): New function. (todo_click_column): New function. (convert_time_t_to_char, make_overdue_todo_style): New functions. * gnome-cal.c (gnome_calendar_todo_properties_changed): New function used to update the TODO when the properties have been chagned for it. * prop.c (prop_apply_todo): Apply TODO properties. * gncal-day-panel.c (todo_list_properties_changed): Update the TODO display here. * eventedit.c (date_edit_new): Made public svn path=/trunk/; revision=757
* Make the calendar start weeks on Monday if appropriate.Federico Mena Quintero1999-02-051-0/+2
| | | | | | | | | | | | | | | | | | | 1999-02-03 Federico Mena Quintero <federico@nuclecu.unam.mx> * gncal-week-view.c (gncal_week_view_new): Make the calendar start weeks on Monday if appropriate. (gncal_week_view_time_format_changed): New function to notify the week view that the time format has changed. * gncal-day-panel.c (gncal_day_panel_new): Make the calendar start weeks on Monday if appropriate. (gncal_day_panel_time_format_changed): New function to notify the day panel that the time format has changed. * gnome-cal.c (gnome_calendar_time_format_changed): Tell the day and week views that the time format has changed. svn path=/trunk/; revision=643
* s/g_copy_strings/g_strconcat/Jeff Garzik1998-12-311-4/+4
| | | | svn path=/trunk/; revision=566
* Rewrote the old and broken alarm system. It never actually workedMiguel de Icaza1998-12-171-6/+36
| | | | | | | | | | | | | | | | | 1998-12-16 Miguel de Icaza <miguel@nuclecu.unam.mx> Rewrote the old and broken alarm system. It never actually worked properly. Now it works properly, and I figured a nice way to get the Audio alarm do something nicer (it is now like an alarm clock :-). * gnome-cal.c (calendar_notify): Now we take a CalendarAlarm to actually distinguish which alarm was triggered. * alarm.c (alarm_ready): The code was only activating the first alarm. Reschedule the timer upon delivery of an alarm. svn path=/trunk/; revision=535
* Add the offset from the beginning of the current time unitFederico Mena Quintero1998-11-031-4/+4
| | | | | | | | | | | | 1998-10-31 Federico Mena Quintero <federico@nuclecu.unam.mx> * gnome-cal.c (gnome_calendar_direction): Add the offset from the beginning of the current time unit (day/month/etc), otherwise it does not work right, for example, you are on the 31st day of a month and the next month is a 30-day one and you jump to the next month. svn path=/trunk/; revision=459
* Changed name from time_start_of_day() to be consistent with the otherFederico Mena Quintero1998-10-031-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 1998-10-02 Federico Mena Quintero <federico@nuclecu.unam.mx> * timeutil.c (time_day_begin): Changed name from time_start_of_day() to be consistent with the other begin/end functions. (time_day_end): Likewise. * calobj.c (ical_object_get_first_weekday): New public function to get the first toggled day in a weekday mask. Since we do not support multiple weekdays in a monthly-by-pos rule, we just fetch the first toggled one. (ical_object_generate_events): Added a missing break statement. * timeutil.c (time_month_end): Made it consistent with the rest of the time begin/end functions -- now it returns the first second of the *next* month. (time_week_end): Actually implemented this function. It will be used when the week view is rewritten. * calobj.c (time_in_range): Fix off-by-one in the comparison of the time against the end time. * gncal-full-day.c (expand_space): Fixed bug where the columns not were being expanded due to a missing "slot + j". svn path=/trunk/; revision=425
* Colorify the month item and prepare it for prelighting here.Federico Mena Quintero1998-10-011-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1998-09-30 Federico Mena Quintero <federico@nuclecu.unam.mx> * goto.c (create_days): Colorify the month item and prepare it for prelighting here. * main.c (color_props): Changed the default colors to something not dull. * year-view.c (compute_min_size): New function to compute the minimum size of the year view properly. (year_view_size_request): Added two new fields to the year view structure that contain the minimum size. Return this in the size_request method. (year_view_new): Call compute_min_size to save the minimum size for later use. (idle_handler): Make it resize the items correctly. * gnome-month-item.c (gnome_month_item_set_arg): Reshape when necessary. This is needed becaues we now actually calculate a minimum size for the month item based on the font sizes and paddings. (check_heading_sizes): New function to calculate a minimum size based on the headings' dimensions. (check_day_sizes): New function to calculate a minimum size based on the day number labels' dimensions. (check_sizes): New function that computes a minimum size for the month item. (reshape): Now calls check_sizes() to ensure a minimum size for the month item. svn path=/trunk/; revision=419
* Fixed the bug reported about the mail notification not beint sent untilMiguel de Icaza1998-09-071-1/+2
| | | | | | | | | 1998-09-06 Miguel de Icaza <miguel@nuclecu.unam.mx> * gnome-cal.c (mail_notify): Fixed the bug reported about the mail notification not beint sent until the program was terminated. svn path=/trunk/; revision=363
* Today: we can now configure the colors for the monthly items, courtesy ofFederico Mena Quintero1998-09-031-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Today: we can now configure the colors for the monthly items, courtesy of the canvas and GnomeColorPicker. Look at the preferences dialog, it is kind of nice. There are still some bugs to be fixed, nothing major. 1998-09-03 Federico Mena Quintero <federico@nuclecu.unam.mx> * prop.c (create_colors_page): We can now configure the colors of the monthly calendars! Wheeeeee! There are still some nits to be fixed, which are listed in the TODO file. (build_color_spec): New function to build color specifications. (parse_color_spec): New function to parse color specifications. * mark.c: Modified all functions to use the configured colors. * goto.c: Likewise. * main.c (colors_changed): New function that notifies all calendars that colors have changed. * gnome-cal.c (gnome_calendar_colors_changed): New function that notifies all the views that the colors have changed. * month-view.c (month_view_colors_changed): New function that notifies the month view that colors have changed. * year-view.c (year_view_colors_changed): New function that notifies the year view that colors have changed. * gnome-month-item.h (struct _GnomeMonthItem): Added fields for outline and day box colors. * gnome-month-item.c (gnome_month_item_set_arg): Added outline_color, outline_color_gdk, day_box_color, and day_box_color_gdk arguments to month items. These are convenient to quickly set the colors of the month item. (gnome_month_item_get_arg): Likewise. * main.[ch]: Added a global array of structures for color preferences. svn path=/trunk/; revision=360
* Today: beginning of year view using the canvas. I still have to finishFederico Mena Quintero1998-08-271-5/+5
| | | | | | | | | | | | | | | | | | | | | Today: beginning of year view using the canvas. I still have to finish fixing size allocation and event marking. This is all for today since Bonnie is coming. 1998-08-26 Federico Mena Quintero <federico@nuclecu.unam.mx> * year-view.c: Beginning of the new year view. Sizing and event marking needs to be finished. * gnome-cal.c: Updated for year-view. (gnome_calendar_time_format_changed): Use year_view_time_format_changed(). * year-view.[ch]: Renamed the gncal-year-view.[ch] files to year-view.[ch]. * Makefile.am (gnomecal_SOURCES): Updated year-view.[ch] in the list of source files. svn path=/trunk/; revision=341
* Today: Beautification of the Preferences dialog. Made the menus moreFederico Mena Quintero1998-08-251-3/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Today: Beautification of the Preferences dialog. Made the menus more consistent with the rest of GNOME. Started work on the meat of the month view. Minor fixups on some of the other views. 1998-08-24 Federico Mena Quintero <federico@nuclecu.unam.mx> * prop.c (build_two_radio_group): Doh. Set the state of the radio buttons properly. * month-view.c (month_view_time_format_changed): New public function that notifies the month view of a time format change. * gnome-cal.c (gnome_calendar_time_format_changed): New public function that notifies the calendar of a time format change. * main.c (time_format_changed): Use gnome_calendar_time_format_changed(). * month-view.c (month_view_update): New public function to update the month view when an event changes. This is still unfinished. (month_view_set): New public function to set the month in the month view. * gnome-cal.c (gnome_calendar_direction): Add case for month view. (gnome_calendar_set_view): Likewise. (gnome_calendar_update_all): Likewise. * timeutil.c (time_add_week): Implemented the time_add_week() function, which was on the header file. (time_add_month): Added public month-adding routine. * gnome-cal.c (gnome_calendar_get_current_view_name): Add case for month view. (gnome_calendar_goto): Likewise, and set the time on the month view. * month-view.c (month_view_new): Now it takes the calendar plus the time_t representing the month. * gnome-month-item.h: Added documentation on the object arguments for the month item. * month-view.c (month_view_init): Added a month/year heading to the month view. * TODO: Updated the TODO list a bit. * main.c (gnome_cal_file_menu): The preferences menu option should go in the File menu. (gnome_cal_edit_menu): Added stock pixmaps to the menu items. (gnome_cal_menu): Renamed the Calendar menu to Edit. (gnome_cal_help_menu): Use "About Gnomecal", not just "About". * prop.c (hour_activated): Notify the property box that it has changed. svn path=/trunk/; revision=337
* Changed the Properties menu item to Preferences. These are globalFederico Mena Quintero1998-08-251-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | 1998-08-24 Federico Mena Quintero <federico@nuclecu.unam.mx> * main.c: Changed the Properties menu item to Preferences. These are global application preferences, not a single calendar's properties. * prop.c (prop_apply): Save the week_starts_on_monday flag to the configuration file. (properties): Added a check button for weeks starting on Monday. (properties): Beautified the Preferences dialog. * month-view.c (month_view_init): * goto.c (create_days): Set the month item to start weeks on Monday if appropriate. * main.c (init_calendar): A boolean is not an hour, so don't range_check_hour() on it. (init_calendar): Added a global week_starts_on_monday flag. * main.h: Added global week_starts_on_monday flag. svn path=/trunk/; revision=336
* We now have a nice generic monthly calendar item for the canvas. WeFederico Mena Quintero1998-08-191-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | also have a convenient "Go To" dialog, just like in the PalmPilot. Next step is a pretty month view - Federico 1998-08-18 Federico Mena Quintero <federico@nuclecu.unam.mx> * gnome-month-item.c (gnome_month_item_day2index): New public function to get the displayed day index of the specified date. * gnome-cal.c (gnome_calendar_goto_today): New public function to jump to the current day. * goto.c (day_event): Jump to the selected day when the user clicks the mouse, and prelight days as appropriate. * timeutil.c (time_from_day): New public function to build a time_t from a year/month/day triplet. * gnome-month-item.c (gnome_month_item_num2child): (gnome_month_item_child2num): New public functions to convert an index into a child and vice-versa, respectively. (gnome_month_item_num2day): New public function to convert a child number into a displayed day number. * goto.c (goto_dialog): Doh, use gnome-dialog properly :-) * gnome-month-item.c (create_items): Use g_strdup()ed day names from the start. 1998-08-17 Federico Mena Quintero <federico@nuclecu.unam.mx> * main.c (gnome_toolbar): Made it use goto.xpm. * Makefile.am (EXTRA_DIST): Added goto.xpm to the list of files. svn path=/trunk/; revision=326
* Start of the month view widget. This will use the generic month item andFederico Mena Quintero1998-08-111-10/+13
| | | | | | | | | | | | | | | | | | | | | | | 1998-08-10 Federico Mena Quintero <federico@nuclecu.unam.mx> * month-view.[ch]: Start of the month view widget. This will use the generic month item and extend it to have the semantics desired for the gnomecal month view. * gnome-month-item.[ch]: New generic canvas item for the month view and the "small calendars". This is intended to be a high-level display engine for monthly calendars. This is a work in progress. * gnome-cal.h (GnomeCalendar): Added a month_view field. * gnome-cal.c (setup_widgets): Create the month view and insert it into the notebook. * Makefile.am: Added month-view.[ch] and gnome-month-item.[ch] to the sources. svn path=/trunk/; revision=307
* Add support for --view flag. (session_save_state): Save the view mode;Miguel de Icaza1998-07-081-0/+29
| | | | | | | | | | | | | | | | 1998-07-07 Miguel de Icaza <miguel@nuclecu.unam.mx> * main.c: Add support for --view flag. (session_save_state): Save the view mode; (new_calendar): Now takes a view mode flag. * gnome-cal.c (gnome_calendar_get_current_view_name): New function for enhancing the session management support for gnomecal. (gnome_calendar_set_view): New function that makes a given page active. svn path=/trunk/; revision=278
* Do not subtract 1 from tm->tm_mday for the default_day.Federico Mena Quintero1998-06-051-1/+3
| | | | | | | | | | | | | 1998-06-04 Federico Mena Quintero <federico@nuclecu.unam.mx> * eventedit.c (ee_rp_init_rule): Do not subtract 1 from tm->tm_mday for the default_day. * gnome-cal.c (gnome_calendar_new): (gnome_calendar_goto): Use the start of the day -- things expect it to be that way. svn path=/trunk/; revision=244
* Various bug fixes that were reported:Arturo Espinosa1998-05-161-1/+0
| | | | | | | | | | | | Various bug fixes that were reported: 1. Correct event span computation for some cases. 2. Correct drawing of events that span more than one day 3. EventEditor supports 12/24 hour formats. mguel. svn path=/trunk/; revision=216
* Bug free version of the range computation in place.Miguel de Icaza1998-05-161-10/+11
| | | | | | | | | | | | | | | 1998-05-15 Miguel de Icaza <miguel@nuclecu.unam.mx> * gnome-cal.c (mark_gtk_calendar_day): Bug free version of the range computation in place. * gncal-year-view.c (year_view_mark_day): Use the same new version of the range computation here. * calobj.c (ical_object_generate_events): Fix the begin/end condition. svn path=/trunk/; revision=215
* Do not add the spurious padding.Miguel de Icaza1998-05-151-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | 1998-05-14 Miguel de Icaza <miguel@nuclecu.unam.mx> * timeutil.c (isodate_from_time_t): Do not add the spurious padding. * calobj.c (store_date_list): Bug fix: I was using the wrong pointer when saving the exception date list. (set_date_list): Bug fix: load correctly the complete exception date list. (set_date_list): Use ',' for the exception date separator as the versit people can not get their standard right. * gncal-full-day.c (unrecur_appointment): Support for making an existing recurrent event `movable' for a day. * calobj.c (ical_object_add_exdate): New routine, used to add exception dates. (ical_object_duplicate): New routine: used to do the magic recur->no-recur event. svn path=/trunk/; revision=214
* 1. Fix: `New Appointment' defaults to the current day. 2. Add `NewArturo Espinosa1998-05-091-0/+2
| | | | | | | | | | 1. Fix: `New Appointment' defaults to the current day. 2. Add `New appointment today' entry. 3. Use the new freeze/thaw changes to avoid the extensive flicker. Miguel. svn path=/trunk/; revision=209
* Various fixes and optimizations; Tagging of the days with appointements.Arturo Espinosa1998-04-301-1/+52
| | | | | | | | | Various fixes and optimizations; Tagging of the days with appointements. the 1969 bug is gone. Really. Miguel. svn path=/trunk/; revision=201
* Lots of fixes:Arturo Espinosa1998-04-291-28/+32
| | | | | | | | | | | | | Lots of fixes: 1. Alarms are rescheduled when an event has been changed. 2. Avoid emitting spurious event changes. 3. Applied black magic to get the mail-notification working. Miguel. svn path=/trunk/; revision=199
* Remove debug code -migArturo Espinosa1998-04-261-4/+0
| | | | svn path=/trunk/; revision=196
* Fixed alarm saving code. Fixed alarm loading code. New -partial-Arturo Espinosa1998-04-251-8/+27
| | | | | | | | | Fixed alarm saving code. Fixed alarm loading code. New -partial- implementation of the mail alarm. It is not working, I do not know what is closing stdin to sendmail svn path=/trunk/; revision=194
* 1. Calendar property configuration is finally here with nice live-updates.Arturo Espinosa1998-04-221-0/+1
| | | | | | | | | | | | | 1. Calendar property configuration is finally here with nice live-updates. 2. Double clicking on week view jumps to that day in the day view; Context menu allows adding an appointment on that day. Miguel. svn path=/trunk/; revision=182
* Small fix for goto-day-year computation -migArturo Espinosa1998-04-221-1/+2
| | | | svn path=/trunk/; revision=179
* Made it use GncalDayPanel.Federico Mena Quintero1998-04-221-102/+25
| | | | | | | | | | | | | | | | | | 1998-04-21 Federico Mena Quintero <federico@nuclecu.unam.mx> * gnome-cal.c: Made it use GncalDayPanel. * gncal-day-panel.c: New widget for the day view in the main calendar toplevel. It basically takes care of everything gnome-cal did by hand with respect to the day view. * Makefile.am (gnomecal_SOURCES): Added gncal-day-panel.[ch] to the rules. * main.c: Added a separator between the About menu item and the help topics. svn path=/trunk/; revision=177
* Make the any-key-creates-new-appointment-at-selection thing actually work - ↵Arturo Espinosa1998-04-211-0/+1
| | | | | | Federico svn path=/trunk/; revision=173
* Fix compiler warnings - FedericoArturo Espinosa1998-04-211-1/+2
| | | | svn path=/trunk/; revision=170
* Duh forgot config.h here -migArturo Espinosa1998-04-191-1/+1
| | | | svn path=/trunk/; revision=162
* Usability fixes -migArturo Espinosa1998-04-181-4/+4
| | | | svn path=/trunk/; revision=156
* Yes.Arturo Espinosa1998-04-181-9/+148
| | | | | | | | | | | | | | | | | | | | | Yes. It works. It loads, it saves, it does all that stuff. It works, even if federico complains that we did not test close. Repetition, alarms, all that stuff you all guys love. It it is there. We did minimal testing, but we know you will happilly commit a fix if you find a problem, right? Ok, we are off to a party now. Miguel svn path=/trunk/; revision=155
* Year view, double click -migArturo Espinosa1998-04-181-3/+15
| | | | svn path=/trunk/; revision=152
* The event dialog is beautified, recurrences are saner.Federico Mena Quintero1998-04-181-1/+1
| | | | | | | | | | 1998-04-17 Federico Mena Quintero <federico@nuclecu.unam.mx> * eventedit.c (ee_init_recurrence_page): New function that creates the recurrence page in the toplevel notebook. (ee_store_recur_values_to_ical): Now we can also store the recurrences. svn path=/trunk/; revision=151
* Large number of updates. Recurrence basically works now in most of itsArturo Espinosa1998-04-181-1/+6
| | | | | | | | | Large number of updates. Recurrence basically works now in most of its forms (daily, weekly, month-by-position). Miguel. svn path=/trunk/; revision=148
* Year view marks ranges of new dates (on update view). Recurrence iteratorArturo Espinosa1998-04-151-2/+3
| | | | | | | | | | | Year view marks ranges of new dates (on update view). Recurrence iterator functions are here now (clap, clap, clap). Microsoft Outlook's days are counted. Miguel. svn path=/trunk/; revision=139
* Routine to destory rows array properly.Miguel de Icaza1998-04-151-1/+1
| | | | | | | | | | | | | | | 1998-04-15 Miguel de Icaza <miguel@nuclecu.unam.mx> * gncal-full-day.c (layout_kill_rows): Routine to destory rows array properly. * gncal-year-view.c (gncal_year_view_new): Add missing year in call to strftime. * calobj.c (ical_object_create_from_vobject): Fixed memory leaks from the return values of versit's fakeCString. svn path=/trunk/; revision=136
* ArghArturo Espinosa1998-04-151-1/+3
| | | | svn path=/trunk/; revision=135
* Now takes object and flags parameters. Likewise. Likewise.Federico Mena Quintero1998-04-141-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | 1998-04-13 Federico Mena Quintero <federico@nuclecu.unam.mx> * gncal-week-view.c (gncal_week_view_update): Now takes object and flags parameters. * gncal-day-view.c (gncal_day_view_update): Likewise. * gncal-full-day.c (gncal_full_day_update): Likewise. (child_focus_in): New function. In conjunction with child_focus_out(), these only display the handles in the child when it is focused. The result is that the user can see more of the child's text when nothing is focused, and we can also display fatter and nicer drag handles. * gnome-cal.c (gnome_calendar_object_changed): Now takes an additional flags parameter (gnome_calendar_update_all): Made function static. Now takes changed object and flags parameters as well. (gnome_calendar_object_changed): Now takes additional flags parameter to indicate what changed in the specified object. * calobj.h (CalObjectChange): New enum with flags to describe what has been changed in an object. svn path=/trunk/; revision=132
* New function to let the outside world decide which child to focus.Federico Mena Quintero1998-04-141-0/+1
| | | | | | | | | | | | | | | 1998-04-13 Federico Mena Quintero <federico@nuclecu.unam.mx> * gncal-full-day.h: * gncal-full-day.c (gncal_full_day_focus_child): New function to let the outside world decide which child to focus. (gncal_full_day_focus_child): Bleah. We have to synthesize a click because GtkText will not set the cursor when you focus it. * gnome-cal.c (day_view_range_activated): Focus the new child in the full day widget. svn path=/trunk/; revision=131
* Create new object and add it to the calendar. You can now select a rangeFederico Mena Quintero1998-04-141-7/+2
| | | | | | | | | | | | | | | | | | | | 1998-04-13 Federico Mena Quintero <federico@nuclecu.unam.mx> * gnome-cal.c (day_view_range_activated): Create new object and add it to the calendar. You can now select a range in the full-day view, hit Return, and a new event will be added at the selected range. I still have to figure out how to focus this new child. * gncal-full-day.c (paint_back): Rewrote function to avoid painting an area more than once -- eliminate flicker. (paint_back_rows): New function that calls paint_back() only for the area of the specified rows. (gncal_full_day_button_press): (gncal_full_day_button_release): (gncal_full_day_motion): Made these functions use paint_back_rows() instead of paint_back(), to eliminate flicker. Wheee! svn path=/trunk/; revision=129
* We now connect to the range_activated signal of the fullday widget insteadFederico Mena Quintero1998-04-131-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1998-04-12 Federico Mena Quintero <federico@nuclecu.unam.mx> * gnome-cal.c (setup_day_view): We now connect to the range_activated signal of the fullday widget instead of catching key presses ourselves. (day_view_range_activated): New function that creates a new iCalObject and inserts it into the calendar, not finished yet. 1998-04-11 Federico Mena Quintero <federico@nuclecu.unam.mx> * gncal-full-day.c (get_time_from_rows): New function, calculates a pair of time_t values from the specified start and number of rows. * gncal-full-day.h (GncalFullDayClass): New signal "range_activated". It is emitted when a range is selected and the user hits Return. (gncal_full_day_selection_range): New function, returns the selected range. * gncal-full-day.c (struct drag_info): Moved selection information to their own fields instead of sharing the child's drag fields. This allows us to keep the selection when a child is moved. (recompute_motion): Made the case when (row < di->sel_click_row) work correctly. svn path=/trunk/; revision=128
* Begginning of the create-appointment-on-range-selection-and-enter code -miguelArturo Espinosa1998-04-121-17/+42
| | | | svn path=/trunk/; revision=127
* More work on the recurrence dialog box, day navigation -migArturo Espinosa1998-04-121-23/+13
| | | | svn path=/trunk/; revision=126
* Show instead of just map the child widget (otherwise the text widget getsFederico Mena Quintero1998-04-091-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | 1998-04-09 Federico Mena Quintero <federico@nuclecu.unam.mx> * gncal-full-day.c (child_map): Show instead of just map the child widget (otherwise the text widget gets confused and will not focus). * calobj.c (ical_object_to_vobject): Quote chars as 'x', not "x". * calobj.h: Added prototype for ical_object_to_vobject(). * gnome-cal.c (gnome_calendar_object_changed): New function. This should be called when a calendar object is changed. * gncal-full-day.c (update_from_drag_info): Call gnome_calendar_object_changed() instead of updating manually. * calendar.c (calendar_add_object): (calendar_remove_object): Set the modified flag to true. * gncal-full-day.c (gncal_full_day_draw): Finished implementing this function. svn path=/trunk/; revision=120
* More work in progress, wheeeee - FedericoArturo Espinosa1998-04-081-3/+17
| | | | svn path=/trunk/; revision=109
* more and more fixes -migArturo Espinosa1998-04-041-5/+37
| | | | svn path=/trunk/; revision=104
* Lots -migArturo Espinosa1998-04-041-14/+50
| | | | svn path=/trunk/; revision=103
* The "better" format string for strftime() wasn't better, after all :-(Federico Mena Quintero1998-04-031-1/+15
| | | | | | | | | | | 1998-04-03 Federico Mena Quintero <federico@nuclecu.unam.mx> * view-utils.c (view_utils_draw_events): The "better" format string for strftime() wasn't better, after all :-( ... plus more work on progress svn path=/trunk/; revision=101
* add test.vcf, more code progress -migArturo Espinosa1998-04-031-1/+1
| | | | svn path=/trunk/; revision=100
* New full-day widget. It is still a work in progress. It will be similar toFederico Mena Quintero1998-04-031-1/+6
| | | | | | | | | | | | 1998-04-02 Federico Mena Quintero <federico@nuclecu.unam.mx> * gncal-full-day.c: New full-day widget. It is still a work in progress. It will be similar to M$ Schedule's nifty full day view widget, but with Gtk's elegance :-) * Makefile.am (gnomecal_SOURCES): Added gncal-full-day.[ch] to the sources. svn path=/trunk/; revision=99
* Day events are now cached inside the widget. They get initialized at thisMiguel de Icaza1998-04-031-3/+5
| | | | | | | | | | | 1998-04-02 Miguel de Icaza <miguel@nuclecu.unam.mx> * gncal-day-view.c (gncal_day_view_update): Day events are now cached inside the widget. They get initialized at this time. * view-utils.c (view_utils_draw_events): Use the list of events. svn path=/trunk/; revision=95
* New main program that uses our new datatypes and objects.Miguel de Icaza1998-04-021-4/+7
| | | | | | | | | | | | | | | | | | | | | 1998-04-02 Miguel de Icaza <miguel@nuclecu.unam.mx> * main.c: New main program that uses our new datatypes and objects. * calendar.c (calendar_load_from_vobject, calendar_load): Implement loading of vCalendar objects and vCalendar files. * calobj.c (ical_object_create_from_vobject): Implement loading of vCalendar event and todo objects. * timeutil.c (isodate_from_time_t): New function. * gnome-cal.c, gnome-cal.h: Implement a toplevel widget, derived from GnomeApp. It holds all of the day views and arbitrates the display. svn path=/trunk/; revision=93
* GnomeCalendar toplevel GnomeApp; versit code -migArturo Espinosa1998-04-021-0/+92
svn path=/trunk/; revision=89