aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/gnome-cal.h
Commit message (Collapse)AuthorAgeFilesLines
* call calendar_config_write_on_exit() to write out some special configDamon Chaplin2000-10-121-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* New function with the loading/creation state machine. It is carefullyFederico Mena Quintero2000-09-091-3/+3
| | | | | | | | | | | | | | | | | | | | | 2000-09-08 Federico Mena Quintero <federico@helixcode.com> * gui/gnome-cal.c (cal_loaded_cb): New function with the loading/creation state machine. It is carefully modelled after the state machine that started the Universe, so bow before it. (gnome_calendar_construct): Do not connect to cal_loaded here. (connect_load): The closure for the cal_loaded callback is a bit tricky, so provide a function to create it and connect to the signal. (disconnect_load): Disconnect from the signal and free the closure. (gnome_calendar_load_cb): Removed obsolete buggy function. (gnome_calendar_open): Use the new mechanism. * gui/control-factory.c (set_prop): The default filename is now calendar.ics. svn path=/trunk/; revision=5280
* Fall equinox cleanup!Federico Mena Quintero2000-09-081-83/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 gnome_calendar_construct() so that we can check for proper creation ofFederico Mena Quintero2000-09-021-0/+3
| | | | | | | | | | | | | | | | | | | | 2000-09-01 Federico Mena Quintero <federico@helixcode.com> * gui/gnome-cal.c (gnome_calendar_new): Use gnome_calendar_construct() so that we can check for proper creation of the client. (gnome_calendar_destroy): Check that the client exists before we unref it. (gnome_calendar_construct): Do the CalClient creation here. Bind the views to it here as well instead of in setup_widgets(). (gnome_calendar_init): Call setup_widgets() here. * gui/e-calendar-table.c (e_calendar_table_destroy): Unref the model. 2000-09-01 JP Rosevear <jpr@helixcode.com> svn path=/trunk/; revision=5175
* Ensure that the child's allocation height is >= 1.Federico Mena Quintero2000-08-311-1/+2
| | | | | | | | | | | | | | | | 2000-08-30 Federico Mena Quintero <federico@helixcode.com> * widgets/e-paned/e-vpaned.c (e_vpaned_size_allocate): Ensure that the child's allocation height is >= 1. * widgets/e-paned/e-hpaned.c (e_hpaned_size_allocate): Ensure that the child's allocation width is >= 1. 2000-08-30 Federico Mena Quintero <federico@helixcode.com> * ChangeLog: Started a ChangeLog here. svn path=/trunk/; revision=5123
* switched to using new ECalendar widget, and a few other fixes.Damon Chaplin2000-08-311-25/+64
| | | | | | | | | | | | | | 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
* New function. Mostly moved over fromFederico Mena Quintero2000-08-111-0/+2
| | | | | | | | | | | | | | | | | 2000-08-10 Federico Mena Quintero <federico@helixcode.com> * gui/gnome-cal.c (gnome_calendar_new_appointment): New function. Mostly moved over from calendar-commands.c:display_objedit(). * gui/calendar-commands.c (calendar_iterate): Removed. Wheee! (display_objedit): Removed. (new_appointment_cb): New function. Just call gnome_calendar_new_appointment(). (display_objedit_today): Removed. (calendar_control_activate): Removed the "New appointment for today" option, since it is pretty useless. svn path=/trunk/; revision=4707
* New function. (cal_component_get_icalcomponent): Ensure that the SEQUENCEFederico Mena Quintero2000-08-081-3/+3
| | | | | | | | | | | | | 2000-08-07 Federico Mena Quintero <federico@helixcode.com> * cal-util/cal-component.c (cal_component_clone): New function. (cal_component_get_icalcomponent): Ensure that the SEQUENCE property does not need incrementing. * gui/dialogs/alarm-notify-dialog.c (alarm_notify_dialog): Use CalComponent. Deal with an empty summary property. svn path=/trunk/; revision=4589
* Sync - FedericoFederico Mena Quintero2000-06-231-4/+0
| | | | svn path=/trunk/; revision=3693
* added little buttons which are shown when there are more events than willDamon Chaplin2000-06-171-0/+4
| | | | | | | | | | | | | | | | | | | | * 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
* Implemented. (gnome_calendar_add_object): Removed function, since it wasFederico Mena Quintero2000-06-021-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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-9/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-2/+1
| | | | svn path=/trunk/; revision=3280
* Commit for if my laptop dies - FedericoFederico Mena Quintero2000-05-241-4/+0
| | | | svn path=/trunk/; revision=3185
* Removed unused arguments. Load the initial alarms here. (load_alarms): NewFederico Mena Quintero2000-05-121-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* new function to get the currently seleted time range form the currentDamon Chaplin2000-05-011-0/+7
| | | | | | | | | | | | | | | | | | | 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
* added new source files and pixmaps, and removed old source files, whichDamon Chaplin2000-04-241-5/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* calls gnome_calendar_open instead of checking on disk and calling load orSeth Alves2000-04-201-2/+11
| | | | | | | | | | | | * 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
* set calendar's uri with a property bagSeth Alves2000-04-191-0/+4
| | | | | | | | | | | | | | | * e-shell-view.c (get_view): set calendar's uri with a property bag * gui/evolution-calendar-control.c (calendar_properties_init): create a property bag for this control (set_prop): callback for property sets (get_prop): callback for proprety gets * gui/calendar-commands.c (calendar_set_uri): new function, called when the "calendar_uri" property is set on the calendar- control's property bag. svn path=/trunk/; revision=2501
* catch cal_loaded signal on the cal client. (gnome_calendar_load_cb):Seth Alves2000-04-101-1/+1
| | | | | | | | | | | | | | | | | | | * 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/+2
| | | | | | | | | | | | | | | | | | | | | | | | * 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
* build test-calendar-widget and evolution-calendar, common stuff is in aSeth Alves2000-04-061-1/+1
| | | | | | | | | | | | | | | * 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-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-3/+6
| | | | | | | | | | | | | | | * 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
* 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-0/+1
| | | | | | | | | | 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 support for Due Date when adding a TODO item here. (column_resized):Clifford R. Conover1999-03-111-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | 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
* New file that presents a quick view of the events in a particular day whenFederico Mena Quintero1998-09-291-3/+1
| | | | | | | | | | | | | | | | 1998-09-28 Federico Mena Quintero <federico@nuclecu.unam.mx> * quick-view.[ch]: New file that presents a quick view of the events in a particular day when the mouse is clicked on the year view. Work in progress. * year-view.c (do_quick_view_popup): New function that creates a quick view for the events in a day. * Makefile.am (gnomecal_SOURCES): Added quick-view.[ch] to the list of sources. svn path=/trunk/; revision=413
* Today: we can now configure the colors for the monthly items, courtesy ofFederico Mena Quintero1998-09-031-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Beautification of the Preferences dialog. Made the menus moreFederico Mena Quintero1998-08-251-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1/+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/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-0/+2
| | | | | | | | | | | | | | | | | | | | | | | 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-11/+22
| | | | | | | | | | | | | | | | 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
* Various fixes and optimizations; Tagging of the days with appointements.Arturo Espinosa1998-04-301-0/+1
| | | | | | | | | Various fixes and optimizations; Tagging of the days with appointements. the 1969 bug is gone. Really. Miguel. svn path=/trunk/; revision=201
* Made it use GncalDayPanel.Federico Mena Quintero1998-04-221-3/+1
| | | | | | | | | | | | | | | | | | 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
* Usability fixes -migArturo Espinosa1998-04-181-1/+1
| | | | svn path=/trunk/; revision=156
* Yes.Arturo Espinosa1998-04-181-0/+1
| | | | | | | | | | | | | | | | | | | | | 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
* Added mandatory status property. (ical_object_to_vobject): Only storeFederico Mena Quintero1998-04-181-0/+1
| | | | | | | | | | | | | | | | 1998-04-17 Federico Mena Quintero <federico@nuclecu.unam.mx> * calobj.c (ical_new): Added mandatory status property. (ical_object_to_vobject): Only store "related" list if it exists. * main.c (save_calendar_cmd): Implemented calendar saving. (open_calendar_cmd): Implemented calendar loading. (new_calendar_cmd): Implemented calendar creation. (new_calendar): Don't load our test calendar by default. * gncal-full-day.c (delete_appointment): Delete appointment implemented. svn path=/trunk/; revision=153
* Year view, double click -migArturo Espinosa1998-04-181-0/+1
| | | | svn path=/trunk/; revision=152
* New widget for the year view. added required compilation of the new files.Arturo Espinosa Aldama1998-04-151-0/+2
| | | | | | | | | 1998-04-14 Arturo Espinosa Aldama <arturo@nuclecu.unam.mx> * gncal-year-view.[hc]: New widget for the year view. * Makefile.am: added required compilation of the new files. svn path=/trunk/; revision=134
* Now takes object and flags parameters. Likewise. Likewise.Federico Mena Quintero1998-04-141-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | 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-1/+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
* More work on the recurrence dialog box, day navigation -migArturo Espinosa1998-04-121-0/+1
| | | | svn path=/trunk/; revision=126
* Show instead of just map the child widget (otherwise the text widget getsFederico Mena Quintero1998-04-091-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | 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-1/+0
| | | | svn path=/trunk/; revision=109
* more and more fixes -migArturo Espinosa1998-04-041-0/+4
| | | | svn path=/trunk/; revision=104
* Lots -migArturo Espinosa1998-04-041-1/+8
| | | | svn path=/trunk/; revision=103
* More calendar work -migArturo Espinosa1998-04-031-3/+4
| | | | svn path=/trunk/; revision=98
* Day events are now cached inside the widget. They get initialized at thisMiguel de Icaza1998-04-031-0/+1
| | | | | | | | | | | 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-1/+1
| | | | | | | | | | | | | | | | | | | | | 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/+35
svn path=/trunk/; revision=89