2000-07-25 Damon Chaplin <damon@helixcode.com>
* gui/e-calendar-table.[hc]: new ECalendarTable to show an ETable view
for Todo/Event items.
* gui/task-assigned-to.xpm:
* gui/task-recurring.xpm:
* gui/task-assigned.xpm:
* gui/task.xpm: new pixmaps (all the same at present) to go in the
icon column of the ETable.
* gui/event-editor.c: hid the silly 'Calendar' labels on the
GnomeDateEdits and hid the times when you select 'All day event'.
Also adjusted the time_t's so that when an all day event finishes on
say midnight 13th May, we show 12th May in the dialog, since it
implicitly includes all of that day up to midnight.
* gui/dialogs/task-editor-dialog.glade:
* gui/dialogs/task-editor.[hc]: unfinished dialog to edit tasks.
* gui/gncal-todo.c: temporary hack so that we can use the simple dialog
with our new ETable.
svn path=/trunk/; revision=4323
2000-07-10 Federico Mena Quintero <federico@helixcode.com>
* e-shell-view.c (unrealize): As a quasi-hack, do a gdk_flush()
when the shell view is unrealized so that the DeleteEvent gets
sent to the remote plugs as soon as possible before we start
making other CORBA calls. The problem is that our CORBA pipe is
synchronous while our X pipe is asynch. We have to ensure
ordering for certain operations. This is NOT the correct and
complete fix, which should go in Bonobo.
svn path=/trunk/; revision=4030
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
2000-05-25 Federico Mena Quintero <federico@helixcode.com>
* gui/main.c (init_bonobo): Do not initialize libglade twice.
* gui/component-factory.c (create_view): Set the folder_uri
property, otherwise the calendar will not get loaded into the
view.
svn path=/trunk/; revision=3203
2000-05-25 Christopher James Lahey <clahey@helixcode.com>
* e-storage-set-view.c: Make this always look pretty, with Helix
GNOME or without.
From calendar/ChangeLog:
2000-05-25 Christopher James Lahey <clahey@helixcode.com>
* gui/main.c: Make it so that warnings don't crash calendar.
svn path=/trunk/; revision=3201
* 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
* gui/calendar-commands.c (calendar_control_activate): removed
uih from the argument list, added cal. use cal as user_data
in callbacks rather than the control.
(calendar_control_deactivate): removed uih from argument list
svn path=/trunk/; revision=2311
* 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
* gui/main.c (calendar_get_events_in_range):
cal_client_get_events_in_range returns a list of CalObjInstance *, not
a list of (char *) uid.
svn path=/trunk/; revision=2255
* Makefile.am (SUBDIRS): readded the gui directory
* gui/main.c: temporarily added alarm_defaults back in,
since the calendar doesn't link without it
svn path=/trunk/; revision=2254
* gui/Makefile.am (LINK_FLAGS): added libeutil.la and libetext.a
* gui/main.c (calendar_iterate): switch from string_to_ical_object to
ical_object_find_in_string
(calendar_get_events_in_range): same
(session_save_state): commented out references
to gcal->client->filename
svn path=/trunk/; revision=2213
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
2000-03-10 Federico Mena Quintero <federico@helixcode.com>
* gui/main.c (main): Do not pass the INIT_SERVER flag to
gnome_CORBA_init_with_popt_table(). Check for exceptions
properly.
(main): Initialize Bonobo.
(main): Call process_dates() to parse the dates from the command
line before we dump the events or the TODOs.
(main): Use bonobo_main() instead of gtk_main().
svn path=/trunk/; revision=2097
* 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
* 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
* 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
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
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
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
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
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
1999-08-30 Miguel de Icaza <miguel@nuclecu.unam.mx>
* calendar.c (calendar_object_changed): Modify the
object->last_mod field.
(calendar_add_object): Ditto.
Closes bug #676
* main.c (save_calendar_cmd): Fix problem in which we warned the
user about the calendar being modified the first time the calendar
was used.
svn path=/trunk/; revision=1150
Please note that the calendar_save routine is now responsible for changing
the filename attribute of the calendar struct, rather than the calling
function. This was so that the filename could be reverted if the open
failed.
svn path=/trunk/; revision=1080
1999-07-28 Miguel de Icaza <miguel@gnu.org>
* calendar-pilot-sync.c: Make the code not take arguments
(sync_cal_to_pilot): Nice event update information
* calendar.c (calendar_new): Add Event UID hash table.
(calendar_add_object): Add events to the hash table here.
(calendar_remove_object): Remove events here.
(calendar_object_find_event): Use the hash table here.
* main.c (save_calendar_cmd): The object is already destroyed by
gnome_dialog_run.
* calendar-pilot-sync.c (sync_object_to_pilot): Do not turn
archived bit on.
svn path=/trunk/; revision=1041
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
1999-05-25 Miguel de Icaza <miguel@nuclecu.unam.mx>
* main.c (parse_an_arg): Added missing break here. It was causing
core dumps when invoked with --userfile.
svn path=/trunk/; revision=944
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
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
1999-03-24 Tomas Ogren <stric@ing.umu.se>
* gncal-todo.c (gncal_todo_init): Made clist titles i18n:able
* main.c (poptOption): Added which views that are possible for
--view in the --help text (closes#367)
* main.c (dump_events): Added (short) month to the strftime and made
the strings i18n:able
svn path=/trunk/; revision=778
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
1999-02-20 Tomas Ogren <stric@ing.umu.se>
* main.c (init_username): Made use of g_get_{user,real}_name() instead
of our own home-brew...
svn path=/trunk/; revision=679
1999-01-28 Miguel de Icaza <miguel@nuclecu.unam.mx>
* main.c (parse_an_arg): Add --hidden key to hide the calendar at
startup. Only works with GNOME window managers though :-(
svn path=/trunk/; revision=635
1999-01-28 Miguel de Icaza <miguel@nuclecu.unam.mx>
* calendar.c (calendar_init_alarms): Schedule an alarm for
midnight to change the calendar_day_begin/calendar_day_end.
* alarm.c (alarm_ready): If we reschedule, there is no need to
activate any pending alarms.
svn path=/trunk/; revision=634
1999-01-27 Miguel de Icaza <miguel@nuclecu.unam.mx>
* main.c (save_calendar_cmd): Warn if the calendar file has
changed.
* calendar.c (calendar_load, calendar_save): Keep track of the
modification time for the calendar file.
svn path=/trunk/; revision=632