aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gnome-cal.c
Commit message (Collapse)AuthorAgeFilesLines
* 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